- #ifndef _PS2K_H 
- #define _PS2K_H 1 
-   
-   
- #define PS2K_BIT_PARITY  0 
- /* расш.код */ 
- #define PS2K_BIT_EXTKEY  1 
- /* отпускание */ 
- #define PS2K_BIT_RELEASE 2 
- /* окончание передачи */ 
- #define PS2K_BIT_ACKBIT  3 
- /* передача */ 
- #define PS2K_BIT_TX      7 
-   
- #define PS2K_BIT_READY   7 
-   
-   
- #ifdef __ASSEMBLER__ 
- /* ------------------------------------------------------------------------- */ 
- .extern ps2k_bit_count 
- .extern ps2k_data 
- .extern ps2k_raw_ready 
- .extern ps2k_raw_code 
- .extern ps2k_skip 
- .extern ps2k_flags 
- .extern ps2k_key_flags_and_code 
- /* ------------------------------------------------------------------------- */ 
- #else // #ifdef __ASSEMBLER__ 
-   
-   
- #include "_types.h" 
-   
- extern volatile u8 ps2k_raw_ready, ps2k_raw_code; 
- //extern volatile u8 ps2k_bit_count, ps2k_data; 
- //extern volatile u8 ps2k_skip, ps2k_flags; 
- extern volatile u16 ps2k_key_flags_and_code; 
- //extern u16 ps2k_timeout; 
-   
- #define KEY_ESC         0x76 
- #define KEY_ENTER       0x5A 
- #define KEY_UP          0x75 
- #define KEY_DOWN        0x72 
- #define KEY_LEFT        0x6B 
- #define KEY_RIGHT       0x74 
- #define KEY_PAGEUP      0x7D 
- #define KEY_PAGEDOWN    0x7A 
- #define KEY_HOME        0x6C 
- #define KEY_END         0x69 
- #define KEY_SPACE       0x29 
- #define KEY_F1          0x05 
- #define KEY_NUMLOCK     0x77 
- #define KEY_CAPSLOCK    0x58 
- #define KEY_SCROLLLOCK  0x7E 
- #define KEY_Y           0x35 
-   
- void ps2k_init(void); 
- void ps2k_setsysled(void); 
- u16 waitkey(void); 
- u8 inkey(u16 *key); 
- u8 ps2k_send_byte(u8 data); 
- u8 ps2k_receive_byte(u8 *data); 
- void ps2k_detect_kbd(void); 
-   
- #endif // #ifdef __ASSEMBLER__ 
-   
- #endif // #ifndef _PS2K_H 
-