~vcs-imports/posixrdp/trunk

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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
complete rdp key code listing

en-us

4000s in the down flags columm is from repeating keys(holding a key down)
When holding a key down, the down flags repeat but the up flags only
come once at the end.
Rdesktop does not do this as of yet.  It always sends down and up
for each repeat.

key         rdp code       down flags  up flags
esc         0x01  1        0000        8000
1           0x02  2        0000        8000
2           0x03  3        0000        8000
3           0x04  4        0000        8000
4           0x05  5        0000        8000
5           0x06  6        0000        8000
6           0x07  7        0000        8000
7           0x08  8        0000        8000
8           0x09  9        0000        8000
9           0x0a  10       0000        8000
0           0x0b  11       0000        8000
-           0x0c  12       0000        8000
=           0x0d  13       0000        8000
backspace   0x0e  14       0000        8000
tab         0x0f  15       0000        8000
q           0x10  16       0000        8000
w           0x11  17       0000        8000
e           0x12  18       0000        8000
r           0x13  19       0000        8000
t           0x14  20       0000        8000
y           0x15  21       0000        8000
u           0x16  22       0000        8000
i           0x17  23       0000        8000
o           0x18  24       0000        8000
p           0x19  25       0000        8000
[           0x1a  26       0000        8000
]           0x1b  27       0000        8000
enter       0x1c  28       0000        8000
left ctrl   0x1d  29       0000/4000   c000
right ctrl  0x1d  29       0100/4100   c100
a           0x1e  30       0000        8000
s           0x1f  31       0000        8000
d           0x20  32       0000        8000
f           0x21  33       0000        8000
g           0x22  34       0000        8000
h           0x23  35       0000        8000
j           0x24  36       0000        8000
k           0x25  37       0000        8000
l           0x26  38       0000        8000
;           0x27  39       0000        8000
'           0x28  40       0000        8000
`           0x29  41       0000        8000
left shift  0x2a  42       0000/4000   c000
\           0x2b  43       0000        8000
z           0x2c  44       0000        8000
x           0x2d  45       0000        8000
c           0x2e  46       0000        8000
v           0x2f  47       0000        8000
b           0x30  48       0000        8000
n           0x31  49       0000        8000
m           0x32  50       0000        8000
,           0x33  51       0000        8000
.           0x34  52       0000        8000
/           0x35  53       0000        8000
right shift 0x36  54       0000/4000   c000
*(keypad)   0x37  55       0000        8000
print scrn  0x37  55       0100        8100
left alt    0x38  56       0000/4000   c000
right alt   0x38  56       0100/4100   c100
space       0x39  57       0000        8000
caps lock   0x3a  58       0000/4000   c000
f1          0x3b  59       0000        8000
f2          0x3c  60       0000        8000
f3          0x3d  61       0000        8000
f4          0x3e  62       0000        8000
f5          0x3f  63       0000        8000
f6          0x40  64       0000        8000
f7          0x41  65       0000        8000
f8          0x42  66       0000        8000
f9          0x43  67       0000        8000
f10         0x44  68       0000        8000
num lock    0x45  69       0000/4000   c000
scroll lock 0x46  70       0000/4000   c000
7(keypad)   0x47  71       0000        8000
home        0x47  71       0100        8100
8(keypad)   0x48  72       0000        8000
up arrow    0x48  72       0100        8100
9(kaypad)   0x49  73       0000        8000
pg up       0x49  73       0100        8100
-(keypad)   0x4a  74       0000        8000
4(keypad)   0x4b  75       0000        8000
left arrow  0x4b  75       0100        8100
5(keypad)   0x4c  76       0000        8000
6(keypad)   0x4d  77       0000        8000
right arrow 0x4d  77       0100        8100
+(keypad)   0x4e  78       0000        8000
1(keypad)   0x4f  79       0000        8000
end         0x4f  79       0100        8100
2(keypad)   0x50  80       0000        8000
down arrow  0x50  80       0100        8100
3(keypad)   0x51  81       0000        8000
pg down     0x51  81       0100        8100
o(keypad)   0x52  82       0000        8000
insert      0x52  82       0100        8100
.(keypad)   0x53  83       0000        8000
delete      0x53  83       0100        8100
?           0x54  84
?           0x55  85
?           0x56  86
f11         0x57  87       0000        8000
f12         0x58  88       0000        8000
?           0x59  89
?           0x5a  90
left win    0x5b  91       0100        8100
right win   0x5c  92       0100        8100
menu key    0x5d  93       0100        8100

pause break 0x1d  29       0200        8200
            0x45  69       0000        8000
This is a special key that sends 2 down and 2 up like this
down 001d 0200
down 0045 0000
up   001d 8200
up   0045 8000