diff --git a/xrdp/funcs.c b/xrdp/funcs.c index f33c4854..69b6bf62 100644 --- a/xrdp/funcs.c +++ b/xrdp/funcs.c @@ -125,94 +125,99 @@ int check_bounds(struct xrdp_bitmap* b, int* x, int* y, int* cx, int* cy) /*****************************************************************************/ /* scan codes - 1 esc - 2 1 or ? - 3 2 or @ - 4 3 or # - 5 4 or $ - 6 5 or % - 7 6 or ^ - 8 7 or & - 9 8 or * - 10 9 or ( - 11 10 or ) - 12 11 or _ - 13 12 or + - 14 backspace - 15 tab - 16 q or Q - 17 w or W - 18 e or E - 19 r or R - 20 t or T - 21 y or Y - 22 u or U - 23 i or I - 24 o or O - 25 p or P - 26 [ or { - 27 ] or } - 28 enter, keypad if ext - 29 left or right ctrl, ext flag is right - 30 a or A - 31 s or S - 32 d or D - 33 f or F - 34 g or G - 35 h or H - 36 j or J - 37 k or K - 38 l or L - 39 ; or : - 40 ' or " - 41 ~ - 42 left shift - 43 \ - 44 z or Z - 45 x or X - 46 c or C - 47 v or V - 48 b or B - 49 n or N - 50 m or M - 51 , or < - 52 . or > - 53 / can be / on keypad, ext flag is keypad - 54 right shift - 55 * on keypad or print screen if ext - 56 left or right alt, ext flag is right - 57 space - 58 caps lock - 59 F1 - 60 F2 - 61 F3 - 62 F4 - 63 F5 - 64 F6 - 65 F7 - 66 F8 - 67 F9 - 68 F10 - 69 num lock - 70 scroll lock - 71 7 or home on keypad, ext flag is not keypad - 72 8 or arrow up on keypad, ext flag is not keypad - 73 9 or page up - 74 -(minus) on keypad - 75 4 or arrow left on keypad, ext flag is not keypad - 76 middle(5 key) of keypad - 77 6 or arrow right, can be on keypad, ext flag in not keypad - 78 + on keypad - 79 1 or end - 80 2 or arrow down, can be on keypad, ext flag in not keypad - 81 3 or page down - 82 0 or insert on keypad, ext flag is not keypad - 83 . or delete on keypad, ext flag is not keypad - 87 F11 - 88 F12 - 91 left win key ext always on - 92 right win key ext always on - 93 menu key ext always on + 1 0x01 esc + 2 0x02 1 or ? + 3 0x03 2 or @ + 4 0x04 3 or # + 5 0x05 4 or $ + 6 0x06 5 or % + 7 0x07 6 or ^ + 8 0x08 7 or & + 9 0x09 8 or * + 10 0x0a 9 or ( + 11 0x0b 0 or ) + 12 0x0c - or _ + 13 0x0d = or + + 14 0x0e backspace + 15 0x0f tab + 16 0x10 q or Q + 17 0x11 w or W + 18 0x12 e or E + 19 0x13 r or R + 20 0x14 t or T + 21 0x15 y or Y + 22 0x16 u or U + 23 0x17 i or I + 24 0x18 o or O + 25 0x19 p or P + 26 0x1a [ or { + 27 0x1b ] or } + 28 0x1c enter, keypad if ext + 29 0x1d left or right ctrl, ext flag is right + 30 0x1e a or A + 31 0x1f s or S + 32 0x20 d or D + 33 0x21 f or F + 34 0x22 g or G + 35 0x23 h or H + 36 0x24 j or J + 37 0x25 k or K + 38 0x26 l or L + 39 0x27 ; or : + 40 0x28 ' or " + 41 0x29 ` or ~ + 42 0x2a left shift + 43 0x2b \ + 44 0x2c z or Z + 45 0x2d x or X + 46 0x2e c or C + 47 0x2f v or V + 48 0x30 b or B + 49 0x31 n or N + 50 0x32 m or M + 51 0x33 , or < + 52 0x34 . or > + 53 0x35 / can be / on keypad, ext flag is keypad + 54 0x36 right shift + 55 0x37 * on keypad or print screen if ext + 56 0x38 left or right alt, ext flag is right + 57 0x39 space + 58 0x3a caps lock + 59 0x3b F1 + 60 0x3c F2 + 61 0x3d F3 + 62 0x3e F4 + 63 0x3f F5 + 64 0x40 F6 + 65 0x41 F7 + 66 0x42 F8 + 67 0x43 F9 + 68 0x44 F10 + 69 0x45 num lock + 70 0x46 scroll lock + 71 0x47 7 or home on keypad, ext flag is not keypad + 72 0x48 8 or arrow up on keypad, ext flag is not keypad + 73 0x49 9 or page up + 74 0x4a -(minus) on keypad + 75 0x4b 4 or arrow left on keypad, ext flag is not keypad + 76 0x4c middle(5 key) of keypad + 77 0x4d 6 or arrow right, can be on keypad, ext flag in not keypad + 78 0x4e + on keypad + 79 0x4f 1 or end + 80 0x50 2 or arrow down, can be on keypad, ext flag in not keypad + 81 0x51 3 or page down + 82 0x52 0 or insert on keypad, ext flag is not keypad + 83 0x53 . or delete on keypad, ext flag is not keypad + 84 0x54 + 85 0x55 + 86 0x56 + 87 0x57 F11 + 88 0x58 F12 + 89 0x59 + 90 0x5a + 91 0x5b left win key ext always on + 92 0x5c right win key ext always on + 93 0x5d menu key ext always on */ /* non shift chars */