52 lines
1.2 KiB
C
52 lines
1.2 KiB
C
/* definition of the twiddler protocol */
|
|
|
|
/*
|
|
* 2400,8,n,1 5-bytes
|
|
*
|
|
* bit 7 6 5 4 3 2 1 0
|
|
* 0 4L 3M 3L 2M 2L 1M 1L
|
|
* 1 Mo Al Co Fn Nm Sh 4M
|
|
* 1 V6 V5 V4 V3 V2 V1 V0
|
|
* 1 H4 H3 H2 H1 H0 V8 V7
|
|
* 1 0 0 0 H8 H7 H6 H5
|
|
* H and V are two complement: up and left is positive
|
|
*/
|
|
|
|
#define TW_L1 0x0001
|
|
#define TW_M1 0x0002
|
|
#define TW_R1 0x0003
|
|
#define TW_ANY1 0x0003
|
|
#define TW_L2 0x0004
|
|
#define TW_M2 0x0008
|
|
#define TW_R2 0x000C
|
|
#define TW_ANY2 0x000C
|
|
#define TW_L3 0x0010
|
|
#define TW_M3 0x0020
|
|
#define TW_R3 0x0030
|
|
#define TW_ANY3 0x0030
|
|
#define TW_L4 0x0040
|
|
#define TW_M4 0x0080
|
|
#define TW_R4 0x00C0
|
|
#define TW_ANY4 0x00C0
|
|
|
|
#define TW_MOD_0 0x0000
|
|
#define TW_MOD_S 0x0100
|
|
#define TW_MOD_N 0x0200
|
|
#define TW_MOD_F 0x0400
|
|
#define TW_MOD_C 0x0800
|
|
#define TW_MOD_A 0x1000
|
|
#define TW_MOD_M 0x2000
|
|
|
|
#define TW_ANY_KEY 0x3fff /* any button or modifier */
|
|
#define TW_ANY_MOD 0x3f00 /* any modifier */
|
|
|
|
|
|
#define TW_V_SHIFT 14
|
|
#define TW_H_SHIFT 23
|
|
#define TW_M_MASK 0x1FF /* mask of movement bits, after shifting */
|
|
#define TW_M_BIT 0x100
|
|
|
|
#define TW_SYSTEM_FILE SYSCONFDIR "/gpm-twiddler.conf"
|
|
#define TW_CUSTOM_FILE SYSCONFDIR "/gpm-twiddler.user"
|
|
|
|
|