Back to home page

LXR

 
 

    


File indexing completed on 2025-05-11 08:23:41

0001 /**
0002  * @file
0003  *
0004  * @ingroup RTEMSBSPsI386
0005  *
0006  * @brief KD definitions.
0007  */
0008 
0009 /*
0010  *  by: Rosimildo da Silva:  rdasilva@connecttel.com
0011  *
0012  *
0013  */
0014 
0015 #ifndef _LINUX_KD_H
0016 #define _LINUX_KD_H
0017 #include <sys/types.h>
0018 
0019 /* 0x4B is 'K', to avoid collision with termios and vt */
0020 
0021 #define KIOCSOUND   0x4B2F  /* start sound generation (0 for off) */
0022 #define KDMKTONE    0x4B30  /* generate tone */
0023 
0024 #define KDGETLED    0x4B31  /* return current led state */
0025 #define KDSETLED    0x4B32  /* set led state [lights, not flags] */
0026 #define     LED_SCR     0x01    /* scroll lock led */
0027 #define     LED_CAP     0x04    /* caps lock led */
0028 #define     LED_NUM     0x02    /* num lock led */
0029 
0030 #define  KDGKBTYPE  0x4B33  /* get keyboard type */
0031 #define     KB_84          0x01
0032 #define     KB_101      0x02    /* this is what we always answer */
0033 #define     KB_OTHER       0x03
0034 
0035 #define     KDSETMODE   0x4B3A  /* set text/graphics mode */
0036 #define     KD_TEXT     0x00
0037 #define     KD_GRAPHICS 0x01
0038 #define     KD_TEXT0    0x02    /* obsolete */
0039 #define     KD_TEXT1    0x03    /* obsolete */
0040 #define     KDGETMODE   0x4B3B  /* get current mode */
0041 
0042 #define     K_RAW          0x00
0043 #define     K_XLATE     0x01
0044 #define     K_MEDIUMRAW 0x02
0045 #define     K_UNICODE   0x03
0046 #define     KDGKBMODE   0x4B44  /* gets current keyboard mode */
0047 #define     KDSKBMODE   0x4B45  /* sets current keyboard mode */
0048 
0049 #define     K_METABIT   0x03
0050 #define     K_ESCPREFIX 0x04
0051 #define     KDGKBMETA   0x4B62  /* gets meta key handling mode */
0052 #define     KDSKBMETA   0x4B63  /* sets meta key handling mode */
0053 
0054 #define     K_SCROLLLOCK    0x01
0055 #define     K_CAPSLOCK  0x02
0056 #define     K_NUMLOCK   0x04
0057 #define    KDGKBLED 0x4B64  /* get led flags (not lights) */
0058 #define     KDSKBLED    0x4B65  /* set led flags (not lights) */
0059 
0060 struct kbentry {
0061     unsigned char kb_table;
0062     unsigned char kb_index;
0063     unsigned short kb_value;
0064 };
0065 #define     K_NORMTAB   0x00
0066 #define     K_SHIFTTAB  0x01
0067 #define     K_ALTTAB    0x02
0068 #define     K_ALTSHIFTTAB   0x03
0069 
0070 #define KDGKBENT    0x4B46  /* gets one entry in translation table */
0071 #define KDSKBENT    0x4B47  /* sets one entry in translation table */
0072 
0073 struct kbsentry {
0074     unsigned char kb_func;
0075     unsigned char kb_string[512];
0076 };
0077 
0078 struct kbdiacr {
0079         unsigned char diacr, base, result;
0080 };
0081 struct kbdiacrs {
0082         unsigned int kb_cnt;    /* number of entries in following array */
0083     struct kbdiacr kbdiacr[256];    /* MAX_DIACR from keyboard.h */
0084 };
0085 #define KDGKBDIACR      0x4B4A  /* read kernel accent table */
0086 #define KDSKBDIACR      0x4B4B  /* write kernel accent table */
0087 
0088 struct kbkeycode {
0089     unsigned int scancode, keycode;
0090 };
0091 #define KDGETKEYCODE    0x4B4C  /* read kernel keycode table entry */
0092 #define KDSETKEYCODE    0x4B4D  /* write kernel keycode table entry */
0093 
0094 #define KDSIGACCEPT 0x4B4E  /* accept kbd generated signals */
0095 
0096 #define KDGHWCLK        0x4B50  /* get hardware clock */
0097 #define KDSHWCLK        0x4B51  /* set hardware clock */
0098 
0099 struct kbd_repeat {
0100     int delay;  /* in msec; <= 0: don't change */
0101     int rate;   /* in msec; <= 0: don't change */
0102 };
0103 
0104 #define KDKBDREP        0x4B52  /* set keyboard delay/repeat rate;
0105                                  * actually used values are returned */
0106 
0107 /* note: 0x4B00-0x4B4E all have had a value at some time;
0108    don't reuse for the time being */
0109 /* note: 0x4B60-0x4B6D, 0x4B70-0x4B72 used above */
0110 
0111 #endif /* _LINUX_KD_H */