--- Gnu-Mach/i386/i386at/kd.h 2020/09/02 04:36:58 1.1 +++ Gnu-Mach/i386/i386at/kd.h 2020/09/02 04:46:54 1.1.1.4 @@ -75,6 +75,7 @@ WITH THE USE OR PERFORMANCE OF THIS SOFT #include #include #include +#include /* @@ -212,6 +213,16 @@ WITH THE USE OR PERFORMANCE OF THIS SOFT #define KA_NORMAL 0x07 #define KA_REVERSE 0x70 +#define KAX_REVERSE 0x01 +#define KAX_UNDERLINE 0x02 +#define KAX_BLINK 0x04 +#define KAX_BOLD 0x08 +#define KAX_DIM 0x10 +#define KAX_INVISIBLE 0x20 + +#define KAX_COL_UNDERLINE 0x0f /* bright white */ +#define KAX_COL_DIM 0x08 /* gray */ + /* * For an EGA-like display, each character takes two bytes, one for the * actual character, followed by one for its attributes. @@ -228,7 +239,7 @@ WITH THE USE OR PERFORMANCE OF THIS SOFT #define CURRENT_COLUMN(pos) (((pos) % ONE_LINE) / ONE_SPACE) #define NUMKEYS 89 -#define NUMSTATES 5 /* NORMAL_STATE, ... */ +#define NUMSTATES 5 /* NORM_STATE, ... */ #define NUMOUTPUT 3 /* max size of byte seq from key */ #define WIDTH_KMAP (NUMSTATES * NUMOUTPUT) @@ -509,6 +520,21 @@ typedef u_char Scancode; #define K_F12 0x1b,0x4f,0x41 #define K_F12S 0x1b,0x4f,0x61 +/* These are the Alt-FxxA #defines. They work with the new keymap + -- Derek Upham 1997/06/25 */ +#define K_F1A 0x1b,0x4f,0x30 +#define K_F2A 0x1b,0x4f,0x31 +#define K_F3A 0x1b,0x4f,0x32 +#define K_F4A 0x1b,0x4f,0x33 +#define K_F5A 0x1b,0x4f,0x34 +#define K_F6A 0x1b,0x4f,0x35 +#define K_F7A 0x1b,0x4f,0x36 +#define K_F8A 0x1b,0x4f,0x37 +#define K_F9A 0x1b,0x4f,0x38 +#define K_F10A 0x1b,0x4f,0x39 +#define K_F11A 0x1b,0x4f,0x3a +#define K_F12A 0x1b,0x4f,0x3b + #define K_SCRL 0x1b,0x5b,0x4d #define K_HOME 0x1b,0x5b,0x48 #define K_UA 0x1b,0x5b,0x41 @@ -542,8 +568,6 @@ extern u_char key_map[NUMKEYS][WIDTH_KMA #ifdef KERNEL #include -extern void splx(); -extern spl_t spltty(); #define SPLKD spltty #endif /* KERNEL */ @@ -615,6 +639,8 @@ extern int kb_mode; #define KDGKBDTYPE _IOR('K', 2, int) /* get keyboard type */ #define KB_VANILLAKB 0 +#define KDSETLEDS _IOW('K', 5, int) /* set the keyboard ledstate */ + struct X_kdb { u_int *ptr; u_int size; @@ -660,4 +686,60 @@ typedef struct { #define MOUSE_MOTION 4 /* mouse motion */ #define KEYBD_EVENT 5 /* key up/down */ +extern boolean_t kd_isupper (u_char); +extern boolean_t kd_islower (u_char); +extern void kd_senddata (unsigned char); +extern void kd_sendcmd (unsigned char); +extern void kd_cmdreg_write (int); +extern void kd_mouse_drain (void); +extern void set_kd_state (int); +extern void kd_setleds1 (u_char); +extern void kd_setleds2 (void); +extern void cnsetleds (u_char); +extern void kdreboot (void); +extern void kd_putc (u_char); +extern void kd_parseesc (void); +extern void kd_down (void); +extern void kd_up (void); +extern void kd_cr (void); +extern void kd_tab (void); +extern void kd_left (void); +extern void kd_right (void); +extern void kd_scrollup (void); +extern void kd_scrolldn (void); +extern void kd_cls (void); +extern void kd_home (void); +extern void kd_insch (int number); +extern void kd_cltobcur (void); +extern void kd_cltopcur (void); +extern void kd_cltoecur (void); +extern void kd_clfrbcur (void); +extern void kd_eraseln (void); +extern void kd_insln (int); +extern void kd_delln (int); +extern void kd_delch (int); +extern void kd_erase (int); +extern void kd_bellon (void); +extern void kd_belloff (void *param); +extern void kdinit (void); +extern int kdsetkbent (struct kbentry *, int); +extern int kdgetkbent (struct kbentry *); +extern int kdsetbell (int, int); +extern void kd_resend (void); +extern void kd_handle_ack (void); +extern int kd_kbd_magic (int); +extern int kdstate2idx (int, boolean_t); +extern void kd_parserest (u_char *); +extern int kdcnprobe(struct consdev *cp); +extern int kdcninit(struct consdev *cp); +extern int kdcngetc(dev_t dev, int wait); +extern int kdcnmaygetc (void); +extern int kdcnputc(dev_t dev, int c); + +extern void kd_slmwd (void *start, int count, int value); +extern void kd_slmscu (void *from, void *to, int count); +extern void kd_slmscd (void *from, void *to, int count); + +extern void kdintr(int vec); + #endif /* _KD_H_ */