Blame | Last modification | View Log | Download | RSS feed
1=pressed39 38 37 36 35 34 33 32byte0 = { KEY_SP, KEY_EN, KEY_P , KEY_0 , KEY_1 , KEY_Q , KEY_A , KEY_CS }31 30 29 28 27 26 25 24byte1 = { KEY_SS, KEY_L , KEY_O , KEY_9 , KEY_2 , KEY_W , KEY_S , KEY_Z }23 22 21 20 19 18 17 16byte2 = { KEY_M , KEY_K , KEY_I , KEY_8 , KEY_3 , KEY_E , KEY_D , KEY_X }15 14 13 12 11 10 09 08byte3 = { KEY_N , KEY_J , KEY_U , KEY_7 , KEY_4 , KEY_R , KEY_F , KEY_C }07 06 05 04 03 02 01 00byte4 = { KEY_B , KEY_H , KEY_Y , KEY_6 , KEY_5 , KEY_T , KEY_G , KEY_V }lsbit firstbyte4 first#define NO_KEY 0xFF#define RST_48 0xFE#define RST128 0xFD#define RSTRDS 0xFC#define RSTSYS 0xFB#define CLRKYS 0xFAstruct zx {UBYTE counters[40];UBYTE map[5]; // send order: LSbit first, from [4] to [0]UBYTE reset_type;};void init_zx(void);void to_zx(UBYTE scancode, UBYTE was_E0, UBYTE was_release);void update_keys(UBYTE zxcode, UBYTE was_release);void zx_task(void);#endif