- #pragma once 
-   
- struct ATM_KBD 
- { 
-    union { 
-       unsigned char zxkeys[8]; 
-       unsigned zxdata[2]; 
-    }; 
-    unsigned char mode, R7, lastscan, cmd; 
-    unsigned char kR1, kR2, kR3, kR4, kR5; 
-   
-    void processzx(unsigned scancode, unsigned char pressed); 
-    unsigned char read(unsigned char scan, unsigned char zxdata); 
-    void setkey(unsigned scancode, unsigned char pressed); 
-    void reset(); 
-    void clear(); 
- }; 
-   
- struct K_INPUT 
- { 
- #pragma pack(push, 1) 
-    union 
-    { 
-       volatile unsigned char kbd[16]; 
-       volatile unsigned kbd_x4[4]; 
-    }; 
-   
-    union 
-    { // without keymatrix effect 
-       volatile unsigned char rkbd[16]; 
-       volatile unsigned rkbd_x4[4]; 
-    }; 
- #pragma pack(pop) 
-   
-    unsigned lastkey, nomouse; 
-   
-    enum { KM_DEFAULT, KM_KEYSTICK, KM_PASTE_HOLD, KM_PASTE_RELEASE } keymode; 
-   
-    int msx, msy, msx_prev, msy_prev, ay_x0, ay_y0; 
-    unsigned ay_reset_t; 
-    unsigned char mbuttons, ayR14; 
-   
-    volatile unsigned char kjoy; 
-    unsigned char mousejoy; 
-    unsigned char kbdled, mouse_joy_led; 
-    unsigned char firedelay, firestate; // autofire vars 
-    volatile u8 fjoy; // fuller joystick 
-   
-    ATM_KBD atm51; 
-   
-    unsigned stick_delay; 
-    int prev_wheel; 
-   
-    unsigned char *textbuffer; 
-    unsigned textoffset, textsize; 
-    unsigned char tdelay, tdata, wheel; //0.36.6 from 0.35b2 
-   
-    unsigned char kempston_mx(); 
-    unsigned char kempston_my(); 
-   
-    unsigned char aymouse_rd(); 
-    void aymouse_wr(unsigned char val); 
-   
-    void clear_zx(); 
-    inline void press_zx(unsigned char key); 
-    bool process_pc_layout(); 
-    void make_matrix(); 
-    char readdevices(); 
-    unsigned char read(unsigned char scan); 
-    u8 read_quorum(u8 scan); 
-    void paste(); 
-   
-    K_INPUT() 
-    { 
-       textbuffer = nullptr; 
-       // random data on coords -> some programs detects mouse by this 
-       ay_x0 = msx = 31; 
-       ay_y0 = msy = 85; 
-   
-       nomouse = 0; 
-    } 
- }; 
-