Normal
px: scan = 01 ascii = 1b
px: scan = 3b ascii = 00
px: scan = 3c ascii = 00
px: scan = 3d ascii = 00
px: scan = 3e ascii = 00
px: scan = 3f ascii = 00
px: scan = 40 ascii = 00
px: scan = 41 ascii = 00
px: scan = 42 ascii = 00
px: scan = 43 ascii = 00
px: scan = 44 ascii = 00
px: scan = 85 ascii = 00
px: scan = 86 ascii = 00
px: scan = 29 ascii = 5e
px: scan = 02 ascii = 31
px: scan = 03 ascii = 32
px: scan = 04 ascii = 33
px: scan = 05 ascii = 34
px: scan = 06 ascii = 35
px: scan = 07 ascii = 36
px: scan = 08 ascii = 37
px: scan = 09 ascii = 38
px: scan = 0a ascii = 39
px: scan = 0b ascii = 30
px: scan = 0c ascii = e1
px: scan = 0d ascii = ef
px: scan = 0e ascii = 08
px: scan = 52 ascii = e0
px: scan = 47 ascii = e0
px: scan = 49 ascii = e0
px: scan = e0 ascii = 2f
px: scan = 37 ascii = 2a
px: scan = 4a ascii = 2d
px: scan = 0f ascii = 09
px: scan = 10 ascii = 71
px: scan = 11 ascii = 77
px: scan = 12 ascii = 65
px: scan = 13 ascii = 72
px: scan = 14 ascii = 74
px: scan = 15 ascii = 7a
px: scan = 16 ascii = 75
px: scan = 17 ascii = 69
px: scan = 18 ascii = 6f
px: scan = 19 ascii = 70
px: scan = 1a ascii = 81
px: scan = 1b ascii = 2b
px: scan = 2b ascii = 23
px: scan = 53 ascii = e0
px: scan = 4f ascii = e0
px: scan = 51 ascii = e0
px: scan = 47 ascii = 00
px: scan = 48 ascii = 00
px: scan = 49 ascii = 00
px: scan = 4e ascii = 2b
px: scan = 1e ascii = 61
px: scan = 1f ascii = 73
px: scan = 20 ascii = 64
px: scan = 21 ascii = 66
px: scan = 22 ascii = 67
px: scan = 23 ascii = 68
px: scan = 24 ascii = 6a
px: scan = 25 ascii = 6b
px: scan = 26 ascii = 6c
px: scan = 27 ascii = 94
px: scan = 28 ascii = 84
px: scan = 1c ascii = 0d
px: scan = 4b ascii = 00
px: scan = 4c ascii = 00
px: scan = 4d ascii = 00
px: scan = 4e ascii = 2b
px: scan = 2c ascii = 79
px: scan = 2d ascii = 78
px: scan = 2e ascii = 63
px: scan = 2f ascii = 76
px: scan = 30 ascii = 62
px: scan = 31 ascii = 6e
px: scan = 32 ascii = 6d
px: scan = 33 ascii = 2c
px: scan = 34 ascii = 2e
px: scan = 35 ascii = 2d
px: scan = 48 ascii = e0
px: scan = 4f ascii = 00
px: scan = 50 ascii = 00
px: scan = 51 ascii = 00
px: scan = e0 ascii = 0d
px: scan = 39 ascii = 20
px: scan = 4b ascii = e0
px: scan = 50 ascii = e0
px: scan = 4d ascii = e0
px: scan = 52 ascii = 00
px: scan = 53 ascii = 00
px: scan = e0 ascii = 0d
px: scan = 56 ascii = 3c

Left Shift
px: scan = 01 ascii = 1b
px: scan = 54 ascii = 00
px: scan = 55 ascii = 00
px: scan = 56 ascii = 00
px: scan = 57 ascii = 00
px: scan = 58 ascii = 00
px: scan = 59 ascii = 00
px: scan = 5a ascii = 00
px: scan = 5b ascii = 00
px: scan = 5c ascii = 00
px: scan = 5d ascii = 00
px: scan = 87 ascii = 00
px: scan = 88 ascii = 00
px: scan = 29 ascii = f8
px: scan = 02 ascii = 21
px: scan = 03 ascii = 22
px: scan = 04 ascii = f5
px: scan = 05 ascii = 24
px: scan = 06 ascii = 25
px: scan = 07 ascii = 26
px: scan = 08 ascii = 2f
px: scan = 09 ascii = 28
px: scan = 0a ascii = 29
px: scan = 0b ascii = 3d
px: scan = 0c ascii = 3f
px: scan = 0d ascii = 60
px: scan = 0e ascii = 08
px: scan = 52 ascii = e0
px: scan = 47 ascii = e0
px: scan = 49 ascii = e0
px: scan = e0 ascii = 2f
px: scan = 37 ascii = 2a
px: scan = 4a ascii = 2d
px: scan = 0f ascii = 00
px: scan = 10 ascii = 51
px: scan = 11 ascii = 57
px: scan = 12 ascii = 45
px: scan = 13 ascii = 52
px: scan = 14 ascii = 54
px: scan = 15 ascii = 5a
px: scan = 16 ascii = 55
px: scan = 17 ascii = 49
px: scan = 18 ascii = 4f
px: scan = 19 ascii = 50
px: scan = 1a ascii = 9a
px: scan = 1b ascii = 2a
px: scan = 2b ascii = 27
px: scan = 53 ascii = e0
px: scan = 4f ascii = e0
px: scan = 51 ascii = e0
px: scan = 47 ascii = 37
px: scan = 48 ascii = 38
px: scan = 49 ascii = 39
px: scan = 4e ascii = 2b
px: scan = 1e ascii = 41
px: scan = 1f ascii = 53
px: scan = 20 ascii = 44
px: scan = 21 ascii = 46
px: scan = 22 ascii = 47
px: scan = 23 ascii = 48
px: scan = 24 ascii = 4a
px: scan = 25 ascii = 4b
px: scan = 26 ascii = 4c
px: scan = 27 ascii = 99
px: scan = 28 ascii = 8e
px: scan = 1c ascii = 0d
px: scan = 4b ascii = 34
px: scan = 4c ascii = 35
px: scan = 4d ascii = 36
px: scan = 4e ascii = 2b
px: scan = 2c ascii = 59
px: scan = 2d ascii = 58
px: scan = 2e ascii = 43
px: scan = 2f ascii = 56
px: scan = 30 ascii = 42
px: scan = 31 ascii = 4e
px: scan = 32 ascii = 4d
px: scan = 33 ascii = 3b
px: scan = 34 ascii = 3a
px: scan = 35 ascii = 5f
px: scan = 48 ascii = e0
px: scan = 4f ascii = 31
px: scan = 50 ascii = 32
px: scan = 51 ascii = 33
px: scan = e0 ascii = 0d
px: scan = 39 ascii = 20
px: scan = 4b ascii = e0
px: scan = 50 ascii = e0
px: scan = 4d ascii = e0
px: scan = 52 ascii = 30
px: scan = 53 ascii = 2c
px: scan = e0 ascii = 0d
px: scan = 56 ascii = 3e

Right Shift
px: scan = 01 ascii = 1b
px: scan = 54 ascii = 00
px: scan = 55 ascii = 00
px: scan = 56 ascii = 00
px: scan = 57 ascii = 00
px: scan = 58 ascii = 00
px: scan = 59 ascii = 00
px: scan = 5a ascii = 00
px: scan = 5b ascii = 00
px: scan = 5c ascii = 00
px: scan = 5d ascii = 00
px: scan = 87 ascii = 00
px: scan = 88 ascii = 00
px: scan = 29 ascii = f8
px: scan = 02 ascii = 21
px: scan = 03 ascii = 22
px: scan = 04 ascii = f5
px: scan = 05 ascii = 24
px: scan = 06 ascii = 25
px: scan = 07 ascii = 26
px: scan = 08 ascii = 2f
px: scan = 09 ascii = 28
px: scan = 0a ascii = 29
px: scan = 0b ascii = 3d
px: scan = 0c ascii = 3f
px: scan = 0d ascii = 60
px: scan = 0e ascii = 08
px: scan = 52 ascii = e0
px: scan = 47 ascii = e0
px: scan = 49 ascii = e0
px: scan = e0 ascii = 2f
px: scan = 37 ascii = 2a
px: scan = 4a ascii = 2d
px: scan = 0f ascii = 00
px: scan = 10 ascii = 51
px: scan = 11 ascii = 57
px: scan = 12 ascii = 45
px: scan = 13 ascii = 52
px: scan = 14 ascii = 54
px: scan = 15 ascii = 5a
px: scan = 16 ascii = 55
px: scan = 17 ascii = 49
px: scan = 18 ascii = 4f
px: scan = 19 ascii = 50
px: scan = 1a ascii = 9a
px: scan = 1b ascii = 2a
px: scan = 2b ascii = 27
px: scan = 53 ascii = e0
px: scan = 4f ascii = e0
px: scan = 51 ascii = e0
px: scan = 47 ascii = 37
px: scan = 48 ascii = 38
px: scan = 49 ascii = 39
px: scan = 4e ascii = 2b
px: scan = 1e ascii = 41
px: scan = 1f ascii = 53
px: scan = 20 ascii = 44
px: scan = 21 ascii = 46
px: scan = 22 ascii = 47
px: scan = 23 ascii = 48
px: scan = 24 ascii = 4a
px: scan = 25 ascii = 4b
px: scan = 26 ascii = 4c
px: scan = 27 ascii = 99
px: scan = 28 ascii = 8e
px: scan = 1c ascii = 0d
px: scan = 4b ascii = 34
px: scan = 4c ascii = 35
px: scan = 4d ascii = 36
px: scan = 4e ascii = 2b
px: scan = 2c ascii = 59
px: scan = 2d ascii = 58
px: scan = 2e ascii = 43
px: scan = 2f ascii = 56
px: scan = 30 ascii = 42
px: scan = 31 ascii = 4e
px: scan = 32 ascii = 4d
px: scan = 33 ascii = 3b
px: scan = 34 ascii = 3a
px: scan = 35 ascii = 5f
px: scan = 48 ascii = e0
px: scan = 4f ascii = 31
px: scan = 50 ascii = 32
px: scan = 51 ascii = 33
px: scan = e0 ascii = 0d
px: scan = 39 ascii = 20
px: scan = 4b ascii = e0
px: scan = 50 ascii = e0
px: scan = 4d ascii = e0
px: scan = 52 ascii = 30
px: scan = 53 ascii = 2c
px: scan = e0 ascii = 0d
px: scan = 56 ascii = 3e

Left Alt
px: scan = 01 ascii = 00
px: scan = 68 ascii = 00
px: scan = 69 ascii = 00
px: scan = 6a ascii = 00
px: scan = 6b ascii = 00
px: scan = 6c ascii = 00
px: scan = 6d ascii = 00
px: scan = 6e ascii = 00
px: scan = 6f ascii = 00
px: scan = 70 ascii = 00
px: scan = 71 ascii = 00
px: scan = 8b ascii = 00
px: scan = 8c ascii = 00
px: scan = 29 ascii = 00
px: scan = 78 ascii = 00
px: scan = 79 ascii = 00
px: scan = 7a ascii = 00
px: scan = 7b ascii = 00
px: scan = 7c ascii = 00
px: scan = 7d ascii = 00
px: scan = 7e ascii = 00
px: scan = 7f ascii = 00
px: scan = 80 ascii = 00
px: scan = 81 ascii = 00
px: scan = 82 ascii = 00
px: scan = 83 ascii = 00
px: scan = 0e ascii = 00
px: scan = a2 ascii = 00
px: scan = 97 ascii = 00
px: scan = 99 ascii = 00
px: scan = a4 ascii = 00
px: scan = 37 ascii = 00
px: scan = 4a ascii = 00
px: scan = a5 ascii = 00
px: scan = 10 ascii = 00
px: scan = 11 ascii = 00
px: scan = 12 ascii = 00
px: scan = 13 ascii = 00
px: scan = 14 ascii = 00
px: scan = 2c ascii = 00
px: scan = 16 ascii = 00
px: scan = 17 ascii = 00
px: scan = 18 ascii = 00
px: scan = 19 ascii = 00
px: scan = 1a ascii = 00
px: scan = 1b ascii = 00
px: scan = 2b ascii = 00
px: scan = a3 ascii = 00
px: scan = 9f ascii = 00
px: scan = a1 ascii = 00
px: scan = 4e ascii = 00
px: scan = 1e ascii = 00
px: scan = 1f ascii = 00
px: scan = 20 ascii = 00
px: scan = 21 ascii = 00
px: scan = 22 ascii = 00
px: scan = 23 ascii = 00
px: scan = 24 ascii = 00
px: scan = 25 ascii = 00
px: scan = 26 ascii = 00
px: scan = 27 ascii = 00
px: scan = 28 ascii = 00
px: scan = 1c ascii = 00
px: scan = 4e ascii = 00
px: scan = 15 ascii = 00
px: scan = 2d ascii = 00
px: scan = 2e ascii = 00
px: scan = 2f ascii = 00
px: scan = 30 ascii = 00
px: scan = 31 ascii = 00
px: scan = 32 ascii = 00
px: scan = 33 ascii = 00
px: scan = 34 ascii = 00
px: scan = 35 ascii = 00
px: scan = 98 ascii = 00
px: scan = a6 ascii = 00
px: scan = 39 ascii = 20
px: scan = 00 ascii = fb
px: scan = 9b ascii = 00
px: scan = a0 ascii = 00
px: scan = 9d ascii = 00
px: scan = a6 ascii = 00

Right Alt
px: scan = 01 ascii = 00
px: scan = 68 ascii = 00
px: scan = 69 ascii = 00
px: scan = 6a ascii = 00
px: scan = 6b ascii = 00
px: scan = 6c ascii = 00
px: scan = 6d ascii = 00
px: scan = 6e ascii = 00
px: scan = 6f ascii = 00
px: scan = 70 ascii = 00
px: scan = 71 ascii = 00
px: scan = 8b ascii = 00
px: scan = 8c ascii = 00
px: scan = 29 ascii = 00
px: scan = 78 ascii = 00
px: scan = 03 ascii = fd
px: scan = 04 ascii = fc
px: scan = 7b ascii = 00
px: scan = 7c ascii = 00
px: scan = 7d ascii = 00
px: scan = 08 ascii = 7b
px: scan = 09 ascii = 5b
px: scan = 0a ascii = 5d
px: scan = 0b ascii = 7d
px: scan = 0c ascii = 5c
px: scan = 83 ascii = 00
px: scan = 0e ascii = 00
px: scan = a2 ascii = 00
px: scan = 97 ascii = 00
px: scan = 99 ascii = 00
px: scan = a4 ascii = 00
px: scan = 37 ascii = 00
px: scan = 4a ascii = 00
px: scan = a5 ascii = 00
px: scan = 10 ascii = 40
px: scan = 11 ascii = 00
px: scan = 12 ascii = 00
px: scan = 13 ascii = 00
px: scan = 14 ascii = 00
px: scan = 15 ascii = 00
px: scan = 16 ascii = 00
px: scan = 17 ascii = 00
px: scan = 18 ascii = 00
px: scan = 19 ascii = 00
px: scan = 1a ascii = 00
px: scan = 1b ascii = 7e
px: scan = 2b ascii = 00
px: scan = a3 ascii = 00
px: scan = 9f ascii = 00
px: scan = a1 ascii = 00
px: scan = 4e ascii = 00
px: scan = 1e ascii = 00
px: scan = 1f ascii = 00
px: scan = 20 ascii = 00
px: scan = 21 ascii = 00
px: scan = 22 ascii = 00
px: scan = 23 ascii = 00
px: scan = 24 ascii = 00
px: scan = 25 ascii = 00
px: scan = 26 ascii = 00
px: scan = 27 ascii = 00
px: scan = 28 ascii = 00
px: scan = 1c ascii = 00
px: scan = 4e ascii = 00
px: scan = 2c ascii = 00
px: scan = 2d ascii = 00
px: scan = 2e ascii = 00
px: scan = 2f ascii = 00
px: scan = 30 ascii = 00
px: scan = 31 ascii = 00
px: scan = 32 ascii = e6
px: scan = 33 ascii = 00
px: scan = 34 ascii = 00
px: scan = 35 ascii = 00
px: scan = 98 ascii = 00
px: scan = a6 ascii = 00
px: scan = 00 ascii = fb
px: scan = 39 ascii = 20
px: scan = 9b ascii = 00
px: scan = a0 ascii = 00
px: scan = 9d ascii = 00
px: scan = a6 ascii = 00
px: scan = 56 ascii = 7c

Caps Lock
px: scan = 01 ascii = 1b
px: scan = 3b ascii = 00
px: scan = 3c ascii = 00
px: scan = 3d ascii = 00
px: scan = 3e ascii = 00
px: scan = 3f ascii = 00
px: scan = 40 ascii = 00
px: scan = 41 ascii = 00
px: scan = 42 ascii = 00
px: scan = 43 ascii = 00
px: scan = 44 ascii = 00
px: scan = 85 ascii = 00
px: scan = 86 ascii = 00
px: scan = 29 ascii = 5e
px: scan = 02 ascii = 31
px: scan = 03 ascii = 32
px: scan = 04 ascii = 33
px: scan = 05 ascii = 34
px: scan = 06 ascii = 35
px: scan = 07 ascii = 36
px: scan = 08 ascii = 37
px: scan = 09 ascii = 38
px: scan = 0a ascii = 39
px: scan = 0b ascii = 30
px: scan = 0c ascii = 3f
px: scan = 0d ascii = ef
px: scan = 0e ascii = 08
px: scan = 52 ascii = e0
px: scan = 47 ascii = e0
px: scan = 49 ascii = e0
px: scan = e0 ascii = 2f
px: scan = 37 ascii = 2a
px: scan = 4a ascii = 2d
px: scan = 0f ascii = 09
px: scan = 10 ascii = 51
px: scan = 11 ascii = 57
px: scan = 12 ascii = 45
px: scan = 13 ascii = 52
px: scan = 14 ascii = 54
px: scan = 15 ascii = 5a
px: scan = 16 ascii = 55
px: scan = 17 ascii = 49
px: scan = 18 ascii = 4f
px: scan = 19 ascii = 50
px: scan = 1a ascii = 9a
px: scan = 1b ascii = 2b
px: scan = 2b ascii = 23
px: scan = 53 ascii = e0
px: scan = 4f ascii = e0
px: scan = 51 ascii = e0
px: scan = 47 ascii = 00
px: scan = 48 ascii = 00
px: scan = 49 ascii = 00
px: scan = 4e ascii = 2b
px: scan = 1e ascii = 41
px: scan = 1f ascii = 53
px: scan = 20 ascii = 44
px: scan = 21 ascii = 46
px: scan = 22 ascii = 47
px: scan = 23 ascii = 48
px: scan = 24 ascii = 4a
px: scan = 25 ascii = 4b
px: scan = 26 ascii = 4c
px: scan = 27 ascii = 99
px: scan = 28 ascii = 8e
px: scan = 1c ascii = 0d
px: scan = 4b ascii = 00
px: scan = 4c ascii = 00
px: scan = 4d ascii = 00
px: scan = 4e ascii = 2b
px: scan = 2c ascii = 59
px: scan = 2d ascii = 58
px: scan = 2e ascii = 43
px: scan = 2f ascii = 56
px: scan = 30 ascii = 42
px: scan = 31 ascii = 4e
px: scan = 32 ascii = 4d
px: scan = 33 ascii = 2c
px: scan = 34 ascii = 2e
px: scan = 35 ascii = 2d
px: scan = 48 ascii = e0
px: scan = 4f ascii = 00
px: scan = 50 ascii = 00
px: scan = 51 ascii = 00
px: scan = e0 ascii = 0d
px: scan = 39 ascii = 20
px: scan = 4b ascii = e0
px: scan = 50 ascii = e0
px: scan = 4d ascii = e0
px: scan = 52 ascii = 00
px: scan = 53 ascii = 00
px: scan = e0 ascii = 0d
px: scan = 56 ascii = 3c

Num Lock
px: scan = 01 ascii = 1b
px: scan = 3b ascii = 00
px: scan = 3c ascii = 00
px: scan = 3d ascii = 00
px: scan = 3e ascii = 00
px: scan = 3f ascii = 00
px: scan = 40 ascii = 00
px: scan = 41 ascii = 00
px: scan = 42 ascii = 00
px: scan = 43 ascii = 00
px: scan = 44 ascii = 00
px: scan = 85 ascii = 00
px: scan = 86 ascii = 00
px: scan = 29 ascii = 5e
px: scan = 02 ascii = 31
px: scan = 03 ascii = 32
px: scan = 04 ascii = 33
px: scan = 05 ascii = 34
px: scan = 06 ascii = 35
px: scan = 07 ascii = 36
px: scan = 08 ascii = 37
px: scan = 09 ascii = 38
px: scan = 0a ascii = 39
px: scan = 0b ascii = 30
px: scan = 0c ascii = e1
px: scan = 0d ascii = ef
px: scan = 0e ascii = 08
px: scan = 52 ascii = e0
px: scan = 47 ascii = e0
px: scan = 49 ascii = e0
px: scan = e0 ascii = 2f
px: scan = 37 ascii = 2a
px: scan = 4a ascii = 2d
px: scan = 0f ascii = 09
px: scan = 10 ascii = 71
px: scan = 11 ascii = 77
px: scan = 12 ascii = 65
px: scan = 13 ascii = 72
px: scan = 14 ascii = 74
px: scan = 15 ascii = 7a
px: scan = 16 ascii = 75
px: scan = 17 ascii = 69
px: scan = 18 ascii = 6f
px: scan = 19 ascii = 70
px: scan = 1a ascii = 81
px: scan = 1b ascii = 2b
px: scan = 2b ascii = 23
px: scan = 53 ascii = e0
px: scan = 4f ascii = e0
px: scan = 51 ascii = e0
px: scan = 47 ascii = 37
px: scan = 48 ascii = 38
px: scan = 49 ascii = 39
px: scan = 4e ascii = 2b
px: scan = 1e ascii = 61
px: scan = 1f ascii = 73
px: scan = 20 ascii = 64
px: scan = 21 ascii = 66
px: scan = 22 ascii = 67
px: scan = 23 ascii = 68
px: scan = 24 ascii = 6a
px: scan = 25 ascii = 6b
px: scan = 26 ascii = 6c
px: scan = 27 ascii = 94
px: scan = 28 ascii = 84
px: scan = 1c ascii = 0d
px: scan = 4b ascii = 34
px: scan = 4c ascii = 35
px: scan = 4d ascii = 36
px: scan = 4e ascii = 2b
px: scan = 2c ascii = 79
px: scan = 2d ascii = 78
px: scan = 2e ascii = 63
px: scan = 2f ascii = 76
px: scan = 30 ascii = 62
px: scan = 31 ascii = 6e
px: scan = 32 ascii = 6d
px: scan = 33 ascii = 2c
px: scan = 34 ascii = 2e
px: scan = 35 ascii = 2d
px: scan = 48 ascii = e0
px: scan = 4f ascii = 31
px: scan = 50 ascii = 32
px: scan = 51 ascii = 33
px: scan = e0 ascii = 0d
px: scan = 39 ascii = 20
px: scan = 4b ascii = e0
px: scan = 50 ascii = e0
px: scan = 4d ascii = e0
px: scan = 52 ascii = 30
px: scan = 53 ascii = 2c
px: scan = e0 ascii = 0d
px: scan = 56 ascii = 3c

Left Control
px: scan = 01 ascii = 1b
px: scan = 5e ascii = 00
px: scan = 5f ascii = 00
px: scan = 60 ascii = 00
px: scan = 61 ascii = 00
px: scan = 62 ascii = 00
px: scan = 63 ascii = 00
px: scan = 64 ascii = 00
px: scan = 65 ascii = 00
px: scan = 66 ascii = 00
px: scan = 67 ascii = 00
px: scan = 89 ascii = 00
px: scan = 8a ascii = 00
px: scan = 72 ascii = 00
px: scan = 00 ascii = 00
px: scan = 03 ascii = 00
px: scan = 07 ascii = 1e
px: scan = 0c ascii = 1c
px: scan = 0e ascii = 7f
px: scan = 92 ascii = e0
px: scan = 77 ascii = e0
px: scan = 84 ascii = e0
px: scan = 95 ascii = 00
px: scan = 96 ascii = 00
px: scan = 8e ascii = 00
px: scan = 94 ascii = 00
px: scan = 10 ascii = 11
px: scan = 11 ascii = 17
px: scan = 12 ascii = 05
px: scan = 13 ascii = 12
px: scan = 14 ascii = 14
px: scan = 15 ascii = 1a
px: scan = 16 ascii = 15
px: scan = 17 ascii = 09
px: scan = 18 ascii = 0f
px: scan = 19 ascii = 10
px: scan = 1a ascii = 1b
px: scan = 1b ascii = 1d
px: scan = 93 ascii = e0
px: scan = 75 ascii = e0
px: scan = 76 ascii = e0
px: scan = 77 ascii = 00
px: scan = 8d ascii = 00
px: scan = 84 ascii = 00
px: scan = 90 ascii = 00
px: scan = 1e ascii = 01
px: scan = 1f ascii = 13
px: scan = 20 ascii = 04
px: scan = 21 ascii = 06
px: scan = 22 ascii = 07
px: scan = 23 ascii = 08
px: scan = 24 ascii = 0a
px: scan = 25 ascii = 0b
px: scan = 26 ascii = 0c
px: scan = 1c ascii = 0a
px: scan = 73 ascii = 00
px: scan = 8f ascii = 00
px: scan = 74 ascii = 00
px: scan = 90 ascii = 00
px: scan = 2c ascii = 19
px: scan = 2d ascii = 18
px: scan = 2e ascii = 03
px: scan = 2f ascii = 16
px: scan = 30 ascii = 02
px: scan = 31 ascii = 0e
px: scan = 32 ascii = 0d
px: scan = 35 ascii = 1f
px: scan = 8d ascii = e0
px: scan = 75 ascii = 00
px: scan = 91 ascii = 00
px: scan = 76 ascii = 00
px: scan = e0 ascii = 0a
px: scan = 39 ascii = 20
px: scan = 73 ascii = e0
px: scan = 91 ascii = e0
px: scan = 74 ascii = e0
px: scan = 92 ascii = 00
px: scan = 93 ascii = 00
px: scan = e0 ascii = 0a

Right Control
px: scan = 01 ascii = 1b
px: scan = 5e ascii = 00
px: scan = 5f ascii = 00
px: scan = 60 ascii = 00
px: scan = 61 ascii = 00
px: scan = 62 ascii = 00
px: scan = 63 ascii = 00
px: scan = 64 ascii = 00
px: scan = 65 ascii = 00
px: scan = 66 ascii = 00
px: scan = 67 ascii = 00
px: scan = 89 ascii = 00
px: scan = 8a ascii = 00
px: scan = 72 ascii = 00
px: scan = 00 ascii = 00
px: scan = 03 ascii = 00
px: scan = 07 ascii = 1e
px: scan = 0c ascii = 1c
px: scan = 0e ascii = 7f
px: scan = 92 ascii = e0
px: scan = 77 ascii = e0
px: scan = 84 ascii = e0
px: scan = 95 ascii = 00
px: scan = 96 ascii = 00
px: scan = 8e ascii = 00
px: scan = 94 ascii = 00
px: scan = 10 ascii = 11
px: scan = 11 ascii = 17
px: scan = 12 ascii = 05
px: scan = 13 ascii = 12
px: scan = 14 ascii = 14
px: scan = 15 ascii = 1a
px: scan = 16 ascii = 15
px: scan = 17 ascii = 09
px: scan = 18 ascii = 0f
px: scan = 19 ascii = 10
px: scan = 1a ascii = 1b
px: scan = 1b ascii = 1d
px: scan = 93 ascii = e0
px: scan = 75 ascii = e0
px: scan = 76 ascii = e0
px: scan = 77 ascii = 00
px: scan = 8d ascii = 00
px: scan = 84 ascii = 00
px: scan = 90 ascii = 00
px: scan = 1e ascii = 01
px: scan = 1f ascii = 13
px: scan = 20 ascii = 04
px: scan = 21 ascii = 06
px: scan = 22 ascii = 07
px: scan = 23 ascii = 08
px: scan = 24 ascii = 0a
px: scan = 25 ascii = 0b
px: scan = 26 ascii = 0c
px: scan = 1c ascii = 0a
px: scan = 73 ascii = 00
px: scan = 8f ascii = 00
px: scan = 74 ascii = 00
px: scan = 90 ascii = 00
px: scan = 2c ascii = 19
px: scan = 2d ascii = 18
px: scan = 2e ascii = 03
px: scan = 2f ascii = 16
px: scan = 30 ascii = 02
px: scan = 31 ascii = 0e
px: scan = 32 ascii = 0d
px: scan = 35 ascii = 1f
px: scan = 8d ascii = e0
px: scan = 75 ascii = 00
px: scan = 91 ascii = 00
px: scan = 76 ascii = 00
px: scan = e0 ascii = 0a
px: scan = 39 ascii = 20
px: scan = 73 ascii = e0
px: scan = 91 ascii = e0
px: scan = 74 ascii = e0
px: scan = 92 ascii = 00
px: scan = 93 ascii = 00
px: scan = e0 ascii = 0a

Exit
px: scan = 01 ascii = 1b
px: scan = 01 ascii = 1b


From: Gereon Ruetten <gently@baer.rwth-aachen.de>
Subject: Re: once again dosemu and keyboard
To: "Eric W. Biederman" <ebiederm+eric@ccr.net>
Date: Mon, 08 Nov 1999 22:55:30 +0100
Organization: Gereon Ruetten
X-From-Line: gently@baer.rwth-aachen.de  Mon Nov  8 16:30:18 1999
Return-Path: <gently@baer.rwth-aachen.de>
Received: from localhost (ccr@localhost [127.0.0.1])
	by flinx.hidden (8.8.7/8.8.7) with ESMTP id QAA27660
	for <eric@localhost>; Mon, 8 Nov 1999 16:30:17 -0600
X-POP3-Rcpt: ebiederm@meter
Received: from meter.ccr.net
	by fetchmail-4.5.8 POP3
	for <eric/localhost> (multi-drop); Mon, 08 Nov 1999 16:30:17 CST
Received: from mail.baer.rwth-aachen.de (20@gummi.baer.RWTH-Aachen.DE [137.226.73.2])
	by meter.ccr.net (8.8.8/8.8.8) with ESMTP id QAA02573
	for <ebiederm+eric@ccr.net>; Mon, 8 Nov 1999 16:03:52 -0600
Received: from baer.rwth-aachen.de (schrau.baer.RWTH-Aachen.DE [137.226.73.16])
	by mail.baer.rwth-aachen.de (Postfix) with ESMTP id 026882A59C
	for <ebiederm+eric@ccr.net>; Mon, 08 Nov 1999 22:56:26 +0100 (CET)
Sender: gently@baer.rwth-aachen.de
Message-ID: <382746D2.A97F1082@baer.rwth-aachen.de>
X-Mailer: Mozilla 4.7 [en] (X11; I; Linux 2.2.13 i586)
X-Accept-Language: en
MIME-Version: 1.0
References: <38264998.B71DD0BD@baer.rwth-aachen.de> <m14sexsa6y.fsf@flinx.hidden> <38271C3A.4967C77C@baer.rwth-aachen.de> <m1vh7crcir.fsf@flinx.hidden>
Content-Type: multipart/mixed;
 boundary="------------23D532C3DDB0AA9C8A183B91"
X-Envelope-To: eric
Status: O
Lines: 1081
Xref: flinx.hidden mail.personal:2666

This is a multi-part message in MIME format.
--------------23D532C3DDB0AA9C8A183B91
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

"Eric W. Biederman" wrote:

> http://www.users.uswest.net/~ebiederman/files/dosemu-0.99.13.eb2.17.patchset.tar.gz

i will try it... thanks...


>  Though the ordering information is good.

:-)


 
> With -e I can see the translations into characters.
> You are using cp437 (The dos default codepage right?).
> cp850 is fine to I just need to be clear.

Country=049,850,C:\WINDOWS\COMMAND\country.sys


mode con codepage prepare=((850) C:\WINDOWS\COMMAND\ega.cpi)M
mode con codepage select=850M
keyb gr,,C:\WINDOWS\COMMAND\keyboard.sysM



> Back to work. I probably won't be home again util about
> 23:00UTC

23:00 ? mhh.. will be about 6 o clock in the morning... huhhh... thats hard :-)

i will do my very best...  but for now i have some new scans for you...


Thanks,
		Gereon
--
http://key.baer.rwth-aachen.de
If the box says `Windows 95 or better'', it should run on Linux, right?
--------------23D532C3DDB0AA9C8A183B91
Content-Type: text/plain; charset=iso-8859-1;
 name="e-normal.tbl"
Content-Transfer-Encoding: 8bit
Content-Disposition: inline;
 filename="e-normal.tbl"

beginnen in the left upper corner :

ESC :
px: scan = 01 ascii = 1b
F1:
px: scan = 3b ascii = 00
px: scan = 3c ascii = 00
px: scan = 3d ascii = 00
px: scan = 3e ascii = 00
px: scan = 3f ascii = 00
px: scan = 40 ascii = 00
px: scan = 41 ascii = 00
px: scan = 42 ascii = 00
px: scan = 43 ascii = 00
px: scan = 44 ascii = 00
px: scan = 85 ascii = 00
px: scan = 86 ascii = 00

"^"+ Space (this key is left besides "1")
px: scan = 00 ascii = 5e

1:
px: scan = 02 ascii = 31
px: scan = 03 ascii = 32
px: scan = 04 ascii = 33
px: scan = 05 ascii = 34
px: scan = 06 ascii = 35
px: scan = 07 ascii = 36
px: scan = 08 ascii = 37
px: scan = 09 ascii = 38
px: scan = 0a ascii = 39
px: scan = 0b ascii = 30

"" = "ss" special german key
px: scan = 0c ascii = e1

"" + Space
px: scan = 00 ascii = ef

Backspace :
px: scan = 0e ascii = 08

next row beginning with :

Tabulator :
px: scan = 0f ascii = 09

q :
px: scan = 10 ascii = 71
px: scan = 11 ascii = 77
px: scan = 12 ascii = 65
px: scan = 13 ascii = 72
px: scan = 14 ascii = 74
px: scan = 15 ascii = 7a //Attention on german keyboards ="z"
px: scan = 16 ascii = 75
px: scan = 17 ascii = 69
px: scan = 18 ascii = 6f
px: scan = 19 ascii = 70

"?" = ue :
px: scan = 1a ascii = 81

"+"
px: scan = 1b ascii = 2b

next row beginning with :

"a":
px: scan = 1e ascii = 61
px: scan = 1f ascii = 73
px: scan = 20 ascii = 64
px: scan = 21 ascii = 66
px: scan = 22 ascii = 67
px: scan = 23 ascii = 68
px: scan = 24 ascii = 6a
px: scan = 25 ascii = 6b
px: scan = 26 ascii = 6c

"?" = oe
px: scan = 27 ascii = 94

"?" = ae
px: scan = 28 ascii = 84

"#" :
px: scan = 2b ascii = 23

next row beginning with :

"<" :
px: scan = 56 ascii = 3c
px: scan = 2c ascii = 79 // "y" on german Keyboards
px: scan = 2d ascii = 78
px: scan = 2e ascii = 63
px: scan = 2f ascii = 76
px: scan = 30 ascii = 62
px: scan = 31 ascii = 6e
px: scan = 32 ascii = 6d

"," :
px: scan = 33 ascii = 2c

"." :
px: scan = 34 ascii = 2e

"-" :
px: scan = 35 ascii = 2d

<SPACE> :
px: scan = 39 ascii = 20

<INS> :
px: scan = 52 ascii = e0

<POS1> :
px: scan = 47 ascii = e0

<PgUp> :
px: scan = 49 ascii = e0

<Del> (i downt know the right name for us-keyb. but i think delete is right)
px: scan = 53 ascii = e0

<End> :
px: scan = 4f ascii = e0

<PgDwn> :
px: scan = 51 ascii = e0

<Cursor left> :
px: scan = 4b ascii = e0

<Cursor up> :
px: scan = 48 ascii = e0

<Cursor down> :
px: scan = 50 ascii = e0

<Cursor right> :
px: scan = 4d ascii = e0

Now the scancodes for ther numerical pad with numlock switched ON :

"/" :
px: scan = e0 ascii = 2f

"*" :
px: scan = 37 ascii = 2a

"-" :
px: scan = 4a ascii = 2d

"7" :
px: scan = 47 ascii = 37

"8" :
px: scan = 48 ascii = 38

"9" :
px: scan = 49 ascii = 39

"+" :
px: scan = 4e ascii = 2b

"4" :
px: scan = 4b ascii = 34

"5" :
px: scan = 4c ascii = 35

"6" :
px: scan = 4d ascii = 36

"1" :
px: scan = 4f ascii = 31

"2" :
px: scan = 50 ascii = 32

"3" :
px: scan = 51 ascii = 33

"0" :
px: scan = 52 ascii = 30

"," : (Attention its really a "," and not a "." !)
px: scan = 53 ascii = 2c

<ENTER> :
px: scan = e0 ascii = 0d

<RETURN> :
px: scan = 1c ascii = 0d

--------------23D532C3DDB0AA9C8A183B91
Content-Type: text/plain; charset=iso-8859-1;
 name="e-lshift.tbl"
Content-Transfer-Encoding: 8bit
Content-Disposition: inline;
 filename="e-lshift.tbl"

here the scancode with pressed left shift key :
same  order as in "e-normal.tbl" i will
make some notes for orientation

px: scan = 01 ascii = 1b // ESC
px: scan = 54 ascii = 00 // F1
px: scan = 55 ascii = 00
px: scan = 56 ascii = 00
px: scan = 57 ascii = 00
px: scan = 58 ascii = 00
px: scan = 59 ascii = 00
px: scan = 5a ascii = 00
px: scan = 5b ascii = 00
px: scan = 5c ascii = 00
px: scan = 5d ascii = 00
px: scan = 87 ascii = 00
px: scan = 88 ascii = 00 //F12
px: scan = 29 ascii = f8 // "" (without pressing additional <SPACE>)
px: scan = 02 ascii = 21 //1
px: scan = 03 ascii = 22
px: scan = 04 ascii = f5
px: scan = 05 ascii = 24
px: scan = 06 ascii = 25
px: scan = 07 ascii = 26
px: scan = 08 ascii = 2f
px: scan = 09 ascii = 28
px: scan = 0a ascii = 29
px: scan = 0b ascii = 3d
px: scan = 0c ascii = 3f //"?"
px: scan = 00 ascii = 60 //"`" (with pressing additional <SPACE)
px: scan = 0e ascii = 08 //<BSP>
px: scan = 0f ascii = 00 //<TAB>
px: scan = 10 ascii = 51 //Q
px: scan = 11 ascii = 57
px: scan = 12 ascii = 45
px: scan = 13 ascii = 52
px: scan = 14 ascii = 54
px: scan = 15 ascii = 5a
px: scan = 16 ascii = 55
px: scan = 17 ascii = 49
px: scan = 18 ascii = 4f
px: scan = 19 ascii = 50
px: scan = 1a ascii = 9a // "s" = Ue
px: scan = 1b ascii = 2a // "*"
px: scan = 1e ascii = 41 // "a"
px: scan = 1f ascii = 53
px: scan = 20 ascii = 44
px: scan = 21 ascii = 46
px: scan = 22 ascii = 47
px: scan = 23 ascii = 48
px: scan = 24 ascii = 4a
px: scan = 25 ascii = 4b
px: scan = 26 ascii = 4c
px: scan = 27 ascii = 99 // "?" = Oe
px: scan = 28 ascii = 8e // "?" = Ae
px: scan = 2b ascii = 27 // "'"
px: scan = 56 ascii = 3e // ">"
px: scan = 2c ascii = 59 // "Y"
px: scan = 2d ascii = 58
px: scan = 2e ascii = 43
px: scan = 2f ascii = 56
px: scan = 30 ascii = 42
px: scan = 31 ascii = 4e
px: scan = 32 ascii = 4d
px: scan = 33 ascii = 3b //";"
px: scan = 34 ascii = 3a //":"
px: scan = 35 ascii = 5f //"_"
px: scan = 39 ascii = 20 //<SPACE>
px: scan = 52 ascii = e0 //<INS>
px: scan = 47 ascii = e0 //<Pos1>
px: scan = 49 ascii = e0 //<PgUp>
px: scan = 53 ascii = e0 //<Del>
px: scan = 4f ascii = e0 //<End>
px: scan = 51 ascii = e0 //<PgDwn>
px: scan = 4b ascii = e0 //Cursor left
px: scan = 48 ascii = e0 //C. up
px: scan = 50 ascii = e0 //C. down
px: scan = 4d ascii = e0 //C. right

Numerical pad (with Numlock switched ON)
px: scan = e0 ascii = 2f // "/"
px: scan = 37 ascii = 2a
px: scan = 4a ascii = 2d
px: scan = 47 ascii = 00 // "7"
px: scan = 48 ascii = 00
px: scan = 49 ascii = 00
px: scan = 4e ascii = 2b //"+"
px: scan = 4b ascii = 00 //"4"
px: scan = 4c ascii = 00
px: scan = 4d ascii = 00
px: scan = 4f ascii = 00 //"1"
px: scan = 50 ascii = 00
px: scan = 51 ascii = 00
px: scan = 52 ascii = 00 //"0"
px: scan = 53 ascii = 00 //","
px: scan = e0 ascii = 0d //<ENTER>

px: scan = 1c ascii = 0d //<RETURN>

--------------23D532C3DDB0AA9C8A183B91
Content-Type: text/plain; charset=iso-8859-1;
 name="e-rshift.tbl"
Content-Transfer-Encoding: 8bit
Content-Disposition: inline;
 filename="e-rshift.tbl"

same procedure with pressed right shift key :

beginning with <ESC> :
px: scan = 01 ascii = 1b
px: scan = 54 ascii = 00 //F1
px: scan = 55 ascii = 00
px: scan = 56 ascii = 00
px: scan = 57 ascii = 00
px: scan = 58 ascii = 00
px: scan = 59 ascii = 00
px: scan = 5a ascii = 00
px: scan = 5b ascii = 00
px: scan = 5c ascii = 00
px: scan = 5d ascii = 00
px: scan = 87 ascii = 00
px: scan = 88 ascii = 00
px: scan = 29 ascii = f8 //""
px: scan = 02 ascii = 21 //"1"
px: scan = 03 ascii = 22
px: scan = 04 ascii = f5
px: scan = 05 ascii = 24
px: scan = 06 ascii = 25
px: scan = 07 ascii = 26
px: scan = 08 ascii = 2f
px: scan = 09 ascii = 28
px: scan = 0a ascii = 29
px: scan = 0b ascii = 3d
px: scan = 0c ascii = 3f
px: scan = 00 ascii = 60
px: scan = 0e ascii = 08 //<BSP>
px: scan = 0f ascii = 00 //<TAB>
px: scan = 10 ascii = 51 //"Q"
px: scan = 11 ascii = 57
px: scan = 12 ascii = 45
px: scan = 13 ascii = 52
px: scan = 14 ascii = 54
px: scan = 15 ascii = 5a
px: scan = 16 ascii = 55
px: scan = 17 ascii = 49
px: scan = 18 ascii = 4f
px: scan = 19 ascii = 50
px: scan = 1a ascii = 9a
px: scan = 1b ascii = 2a //"*"
px: scan = 1e ascii = 41 //"A"
px: scan = 1f ascii = 53
px: scan = 20 ascii = 44
px: scan = 21 ascii = 46
px: scan = 22 ascii = 47
px: scan = 23 ascii = 48
px: scan = 24 ascii = 4a
px: scan = 25 ascii = 4b
px: scan = 26 ascii = 4c
px: scan = 27 ascii = 99
px: scan = 28 ascii = 8e
px: scan = 2b ascii = 27 //"'"
px: scan = 56 ascii = 3e //">"
px: scan = 2c ascii = 59 //"Y"
px: scan = 2d ascii = 58
px: scan = 2e ascii = 43
px: scan = 2f ascii = 56
px: scan = 30 ascii = 42
px: scan = 31 ascii = 4e
px: scan = 32 ascii = 4d
px: scan = 33 ascii = 3b //";"
px: scan = 34 ascii = 3a //":"
px: scan = 35 ascii = 5f //"_"
px: scan = 39 ascii = 20 //<SPC>
px: scan = 52 ascii = e0 //<INS>
px: scan = 47 ascii = e0 //<Pos1>
px: scan = 49 ascii = e0 //<PgUp>
px: scan = 53 ascii = e0 //<DEL>
px: scan = 4f ascii = e0 //<End>
px: scan = 51 ascii = e0 //<PgDown>
px: scan = 4b ascii = e0 //Cursor left
px: scan = 48 ascii = e0 //C. up
px: scan = 50 ascii = e0 //C. down
px: scan = 4d ascii = e0 //C. right

Numeric pad with Numlock switched ON :

px: scan = e0 ascii = 2f //"/"
px: scan = 37 ascii = 2a //"*"
px: scan = 4a ascii = 2d //"-"
px: scan = 47 ascii = 00 //"7"
px: scan = 48 ascii = 00
px: scan = 49 ascii = 00
px: scan = 4e ascii = 2b //"+"
px: scan = 4b ascii = 00 //"4"
px: scan = 4c ascii = 00
px: scan = 4d ascii = 00
px: scan = 4f ascii = 00 //"1"
px: scan = 50 ascii = 00
px: scan = 51 ascii = 00
px: scan = 52 ascii = 00 //"0"
px: scan = 53 ascii = 00 //","
px: scan = e0 ascii = 0d //<ENTER>


px: scan = 1c ascii = 0d //<RETURN>

--------------23D532C3DDB0AA9C8A183B91
Content-Type: text/plain; charset=iso-8859-1;
 name="e-lctrl.tbl"
Content-Transfer-Encoding: 8bit
Content-Disposition: inline;
 filename="e-lctrl.tbl"

pressed left ctrl-key

px: scan = 01 ascii = 1b //<ESC>
px: scan = 5e ascii = 00 //<F1>
px: scan = 5f ascii = 00
px: scan = 60 ascii = 00
px: scan = 61 ascii = 00
px: scan = 62 ascii = 00
px: scan = 63 ascii = 00
px: scan = 64 ascii = 00
px: scan = 65 ascii = 00
px: scan = 66 ascii = 00
px: scan = 67 ascii = 00
px: scan = 89 ascii = 00
px: scan = 8a ascii = 00

"^" +"1" no scancode

px: scan = 03 ascii = 00 //"2"
px: scan = 07 ascii = 1e //"6"
px: scan = 0c ascii = 1c //"" = ss
px: scan = 0e ascii = 7f //<BSP>
px: scan = 94 ascii = 00 //<TAB>
px: scan = 10 ascii = 11 //"q"
px: scan = 11 ascii = 17
px: scan = 12 ascii = 05
px: scan = 13 ascii = 12
px: scan = 14 ascii = 14
px: scan = 15 ascii = 1a
px: scan = 16 ascii = 15
px: scan = 17 ascii = 09
px: scan = 18 ascii = 0f
px: scan = 19 ascii = 10
px: scan = 1a ascii = 1b
px: scan = 1b ascii = 1d

px: scan = 1e ascii = 01
px: scan = 1f ascii = 13
px: scan = 20 ascii = 04
px: scan = 21 ascii = 06
px: scan = 22 ascii = 07
px: scan = 23 ascii = 08
px: scan = 24 ascii = 0a
px: scan = 25 ascii = 0b
px: scan = 26 ascii = 0c //"l"

"?" =oe , "?" = ae, "#", "<" no function

px: scan = 2c ascii = 19 //"y"
px: scan = 2d ascii = 18
px: scan = 2e ascii = 03
px: scan = 2f ascii = 16
px: scan = 30 ascii = 02
px: scan = 31 ascii = 0e
px: scan = 32 ascii = 0d //"m"
px: scan = 35 ascii = 1f //"-"
px: scan = 39 ascii = 20 //<SPC>
px: scan = 92 ascii = e0 //<Ins>
px: scan = 77 ascii = e0 //<Pos1>
px: scan = 84 ascii = e0 //<PgUp>
px: scan = 93 ascii = e0 //<Del>
px: scan = 75 ascii = e0 //<End>
px: scan = 76 ascii = e0 //<PgDwn>
px: scan = 73 ascii = e0 //C. left
px: scan = 8d ascii = e0 //C. up
px: scan = 91 ascii = e0 //C. down
px: scan = 74 ascii = e0 //C. right

numerical pad :

px: scan = 95 ascii = 00 //"/"
px: scan = 96 ascii = 00 //"*"
px: scan = 8e ascii = 00 //"-"
px: scan = 77 ascii = 00 //"7"
px: scan = 8d ascii = 00 //"8"
px: scan = 84 ascii = 00 //"9"
px: scan = 90 ascii = 00 //"+"
px: scan = 73 ascii = 00 //"4"
px: scan = 8f ascii = 00 //"5"
px: scan = 74 ascii = 00 //"6"
px: scan = 75 ascii = 00 //"1"
px: scan = 91 ascii = 00 //"2"
px: scan = 76 ascii = 00 //"3"
px: scan = 92 ascii = 00 //"0"
px: scan = 93 ascii = 00 //","
px: scan = e0 ascii = 0a //<ENTER>


px: scan = 1c ascii = 0a //<RETURN>

--------------23D532C3DDB0AA9C8A183B91
Content-Type: text/plain; charset=iso-8859-1;
 name="e-rctrl.tbl"
Content-Transfer-Encoding: 8bit
Content-Disposition: inline;
 filename="e-rctrl.tbl"

with right control pressed... there are identical (or similiar i didnt
compared them) to the left-control codes, so i didnt comment them.


px: scan = 01 ascii = 1b
px: scan = 5e ascii = 00
px: scan = 5f ascii = 00
px: scan = 60 ascii = 00
px: scan = 61 ascii = 00
px: scan = 62 ascii = 00
px: scan = 63 ascii = 00
px: scan = 64 ascii = 00
px: scan = 65 ascii = 00
px: scan = 66 ascii = 00
px: scan = 67 ascii = 00
px: scan = 89 ascii = 00
px: scan = 8a ascii = 00
px: scan = 39 ascii = 20
px: scan = 03 ascii = 00
px: scan = 07 ascii = 1e
px: scan = 0c ascii = 1c
px: scan = 0e ascii = 7f
px: scan = 94 ascii = 00
px: scan = 10 ascii = 11
px: scan = 11 ascii = 17
px: scan = 12 ascii = 05
px: scan = 13 ascii = 12
px: scan = 14 ascii = 14
px: scan = 15 ascii = 1a
px: scan = 16 ascii = 15
px: scan = 17 ascii = 09
px: scan = 18 ascii = 0f
px: scan = 19 ascii = 10
px: scan = 1a ascii = 1b
px: scan = 1b ascii = 1d
px: scan = 1e ascii = 01
px: scan = 1f ascii = 13
px: scan = 20 ascii = 04
px: scan = 21 ascii = 06
px: scan = 22 ascii = 07
px: scan = 23 ascii = 08
px: scan = 24 ascii = 0a
px: scan = 25 ascii = 0b
px: scan = 26 ascii = 0c
px: scan = 2c ascii = 19
px: scan = 2d ascii = 18
px: scan = 2e ascii = 03
px: scan = 2f ascii = 16
px: scan = 30 ascii = 02
px: scan = 31 ascii = 0e
px: scan = 32 ascii = 0d
px: scan = 35 ascii = 1f
px: scan = 39 ascii = 20
px: scan = 92 ascii = e0
px: scan = 77 ascii = e0
px: scan = 84 ascii = e0
px: scan = 93 ascii = e0
px: scan = 75 ascii = e0
px: scan = 76 ascii = e0
px: scan = 73 ascii = e0
px: scan = 8d ascii = e0
px: scan = 91 ascii = e0
px: scan = 74 ascii = e0
px: scan = 95 ascii = 00
px: scan = 96 ascii = 00
px: scan = 8e ascii = 00
px: scan = 77 ascii = 00
px: scan = 8d ascii = 00
px: scan = 84 ascii = 00
px: scan = 90 ascii = 00
px: scan = 73 ascii = 00
px: scan = 8f ascii = 00
px: scan = 74 ascii = 00
px: scan = 75 ascii = 00
px: scan = 91 ascii = 00
px: scan = 76 ascii = 00
px: scan = 92 ascii = 00
px: scan = 93 ascii = 00
px: scan = e0 ascii = 0a
px: scan = 1c ascii = 0a
px: scan = 01 ascii = 1b
px: scan = 01 ascii = 1b

--------------23D532C3DDB0AA9C8A183B91
Content-Type: text/plain; charset=iso-8859-1;
 name="e-alt.tbl"
Content-Transfer-Encoding: 8bit
Content-Disposition: inline;
 filename="e-alt.tbl"

same procedure with "alt" key pressed


px: scan = 01 ascii = 00 //ESC
px: scan = 68 ascii = 00 //F1
px: scan = 69 ascii = 00
px: scan = 6a ascii = 00
px: scan = 6b ascii = 00
px: scan = 6c ascii = 00
px: scan = 6d ascii = 00
px: scan = 6e ascii = 00
px: scan = 6f ascii = 00
px: scan = 70 ascii = 00
px: scan = 71 ascii = 00
px: scan = 8b ascii = 00
px: scan = 8c ascii = 00
px: scan = 29 ascii = 00 //"^"
px: scan = 78 ascii = 00 //"1"
px: scan = 79 ascii = 00
px: scan = 7a ascii = 00
px: scan = 7b ascii = 00
px: scan = 7c ascii = 00
px: scan = 7d ascii = 00
px: scan = 7e ascii = 00
px: scan = 7f ascii = 00
px: scan = 80 ascii = 00
px: scan = 81 ascii = 00
px: scan = 82 ascii = 00 //""
px: scan = 83 ascii = 00
px: scan = 0e ascii = 00 //<BSP>
px: scan = a5 ascii = 00 //<TAB>
px: scan = 10 ascii = 00 //"q"
px: scan = 11 ascii = 00
px: scan = 12 ascii = 00
px: scan = 13 ascii = 00
px: scan = 14 ascii = 00
px: scan = 2c ascii = 00
px: scan = 16 ascii = 00
px: scan = 17 ascii = 00
px: scan = 18 ascii = 00
px: scan = 19 ascii = 00
px: scan = 1a ascii = 00 //"?"
px: scan = 1b ascii = 00
px: scan = 1e ascii = 00 //"a"
px: scan = 1f ascii = 00
px: scan = 20 ascii = 00
px: scan = 21 ascii = 00
px: scan = 22 ascii = 00
px: scan = 23 ascii = 00
px: scan = 24 ascii = 00
px: scan = 25 ascii = 00
px: scan = 26 ascii = 00
px: scan = 27 ascii = 00
px: scan = 28 ascii = 00
px: scan = 2b ascii = 00 //"#"

<Alt>+"<" has no scancode !

px: scan = 15 ascii = 00 //"y"
px: scan = 2d ascii = 00
px: scan = 2e ascii = 00
px: scan = 2f ascii = 00
px: scan = 30 ascii = 00
px: scan = 31 ascii = 00
px: scan = 32 ascii = 00
px: scan = 33 ascii = 00
px: scan = 34 ascii = 00
px: scan = 35 ascii = 00 //"-"
px: scan = 39 ascii = 20 //<SPACE>
px: scan = a2 ascii = 00 //<Ins>
px: scan = 97 ascii = 00 //<Pos1>
px: scan = 99 ascii = 00 //<PgUp>
px: scan = a3 ascii = 00 //<Del>
px: scan = 9f ascii = 00 //<End>
px: scan = a1 ascii = 00 //<PgDwn>
px: scan = 9b ascii = 00 //C. left
px: scan = 98 ascii = 00 //C. up
px: scan = a0 ascii = 00 //C. down
px: scan = 9d ascii = 00 //C. right

Numeric pad with Numlock = ON :

px: scan = a4 ascii = 00 // "/"
px: scan = 37 ascii = 00 // "*"
px: scan = 4a ascii = 00 // "-"
px: scan = 4e ascii = 00 // "+"
px: scan = a6 ascii = 00 // <ENTER>
px: scan = 1c ascii = 00 // <RETURN>

numeric number-keys on numeric pad have no scancodes !

--------------23D532C3DDB0AA9C8A183B91
Content-Type: text/plain; charset=us-ascii;
 name="e-altgr.tbl"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="e-altgr.tbl"

pressed <altgr>

px: scan = 01 ascii = 00 //<ESC>
px: scan = 68 ascii = 00 //<F1>      
px: scan = 69 ascii = 00
px: scan = 6a ascii = 00
px: scan = 6b ascii = 00
px: scan = 6c ascii = 00
px: scan = 6d ascii = 00
px: scan = 6e ascii = 00
px: scan = 6f ascii = 00
px: scan = 70 ascii = 00
px: scan = 71 ascii = 00
px: scan = 8b ascii = 00
px: scan = 8c ascii = 00
px: scan = 29 ascii = 00 //"^"
px: scan = 78 ascii = 00
px: scan = 03 ascii = fd
px: scan = 04 ascii = fc
px: scan = 7b ascii = 00
px: scan = 7c ascii = 00
px: scan = 7d ascii = 00
px: scan = 08 ascii = 7b
px: scan = 09 ascii = 5b
px: scan = 0a ascii = 5d
px: scan = 0b ascii = 7d
px: scan = 0c ascii = 5c
px: scan = 83 ascii = 00
px: scan = 0e ascii = 00 //<BSP>
px: scan = a5 ascii = 00 //<TAB>
px: scan = 10 ascii = 40
px: scan = 11 ascii = 00
px: scan = 12 ascii = 00
px: scan = 13 ascii = 00
px: scan = 14 ascii = 00
px: scan = 15 ascii = 00
px: scan = 16 ascii = 00
px: scan = 17 ascii = 00
px: scan = 18 ascii = 00
px: scan = 19 ascii = 00
px: scan = 1a ascii = 00
px: scan = 1b ascii = 7e
px: scan = 1e ascii = 00
px: scan = 1f ascii = 00
px: scan = 20 ascii = 00
px: scan = 21 ascii = 00
px: scan = 22 ascii = 00
px: scan = 23 ascii = 00
px: scan = 24 ascii = 00
px: scan = 25 ascii = 00
px: scan = 26 ascii = 00
px: scan = 27 ascii = 00
px: scan = 28 ascii = 00
px: scan = 2b ascii = 00 //"#"
px: scan = 56 ascii = 7c //"<"
px: scan = 2c ascii = 00 //"y"
px: scan = 2d ascii = 00
px: scan = 2e ascii = 00
px: scan = 2f ascii = 00
px: scan = 30 ascii = 00
px: scan = 31 ascii = 00
px: scan = 32 ascii = e6
px: scan = 33 ascii = 00
px: scan = 34 ascii = 00
px: scan = 35 ascii = 00 //"-"
px: scan = 39 ascii = 20 //<SPACE>
px: scan = a2 ascii = 00 //<Ins>
px: scan = 97 ascii = 00
px: scan = 99 ascii = 00
px: scan = a3 ascii = 00 //<Del>
px: scan = 9f ascii = 00
px: scan = a1 ascii = 00 //<PgDwn>
px: scan = 9b ascii = 00 //C. left
px: scan = 98 ascii = 00 //C. up
px: scan = a0 ascii = 00 //C. down
px: scan = 9d ascii = 00 //C. right

numerical pad numlock = ON

px: scan = a4 ascii = 00 // "/"
px: scan = 37 ascii = 00 // "*"
px: scan = 4a ascii = 00 // "-"
px: scan = 4e ascii = 00 // "+"
px: scan = a6 ascii = 00 // <ENTER>


px: scan = 1c ascii = 00 // <RETURN>

--------------23D532C3DDB0AA9C8A183B91
Content-Type: text/plain; charset=us-ascii;
 name="e-capslc.tbl"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="e-capslc.tbl"

with capslock = ON

same order as in the other tests, so no further comments

px: scan = 01 ascii = 1b
px: scan = 3b ascii = 00
px: scan = 3c ascii = 00
px: scan = 3d ascii = 00
px: scan = 3e ascii = 00
px: scan = 3f ascii = 00
px: scan = 40 ascii = 00
px: scan = 41 ascii = 00
px: scan = 42 ascii = 00
px: scan = 43 ascii = 00
px: scan = 44 ascii = 00
px: scan = 85 ascii = 00
px: scan = 86 ascii = 00
px: scan = 29 ascii = f8
px: scan = 02 ascii = 21
px: scan = 03 ascii = 22
px: scan = 04 ascii = f5
px: scan = 05 ascii = 24
px: scan = 06 ascii = 25
px: scan = 07 ascii = 26
px: scan = 08 ascii = 2f
px: scan = 09 ascii = 28
px: scan = 0a ascii = 29
px: scan = 0b ascii = 3d
px: scan = 0c ascii = 3f
px: scan = 00 ascii = 60
px: scan = 0e ascii = 08
px: scan = 0f ascii = 09
px: scan = 10 ascii = 51
px: scan = 11 ascii = 57
px: scan = 12 ascii = 45
px: scan = 13 ascii = 52
px: scan = 14 ascii = 54
px: scan = 15 ascii = 5a
px: scan = 16 ascii = 55
px: scan = 17 ascii = 49
px: scan = 18 ascii = 4f
px: scan = 19 ascii = 50
px: scan = 1a ascii = 9a
px: scan = 1b ascii = 2a
px: scan = 1e ascii = 41
px: scan = 1f ascii = 53
px: scan = 20 ascii = 44
px: scan = 21 ascii = 46
px: scan = 22 ascii = 47
px: scan = 23 ascii = 48
px: scan = 24 ascii = 4a
px: scan = 25 ascii = 4b
px: scan = 26 ascii = 4c
px: scan = 27 ascii = 99
px: scan = 28 ascii = 8e
px: scan = 2b ascii = 27
px: scan = 56 ascii = 3e
px: scan = 2c ascii = 59
px: scan = 2d ascii = 58
px: scan = 2e ascii = 43
px: scan = 2f ascii = 56
px: scan = 30 ascii = 42
px: scan = 31 ascii = 4e
px: scan = 32 ascii = 4d
px: scan = 33 ascii = 3b
px: scan = 34 ascii = 3a
px: scan = 35 ascii = 5f
px: scan = 39 ascii = 20
px: scan = 52 ascii = e0
px: scan = 47 ascii = e0
px: scan = 49 ascii = e0
px: scan = 53 ascii = e0
px: scan = 4f ascii = e0
px: scan = 51 ascii = e0
px: scan = 4b ascii = e0
px: scan = 48 ascii = e0
px: scan = 50 ascii = e0
px: scan = 4d ascii = e0
px: scan = e0 ascii = 2f
px: scan = 37 ascii = 2a
px: scan = 4a ascii = 2d
px: scan = 47 ascii = 37
px: scan = 48 ascii = 38
px: scan = 49 ascii = 39
px: scan = 4e ascii = 2b
px: scan = 4b ascii = 34
px: scan = 4c ascii = 35
px: scan = 4d ascii = 36
px: scan = 4f ascii = 31
px: scan = 50 ascii = 32
px: scan = 51 ascii = 33
px: scan = 52 ascii = 30
px: scan = 53 ascii = 2c
px: scan = e0 ascii = 0d
px: scan = 01 ascii = 1b
px: scan = 01 ascii = 1b

--------------23D532C3DDB0AA9C8A183B91
Content-Type: text/plain; charset=us-ascii;
 name="e-numeri.tbl"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="e-numeri.tbl"

numeric pad with numlock = OFF

following key-pressed order :

"/*-789+4561230,<ENTER>"


normal :
px: scan = e0 ascii = 2f
px: scan = 37 ascii = 2a
px: scan = 4a ascii = 2d
px: scan = 47 ascii = 00
px: scan = 48 ascii = 00
px: scan = 49 ascii = 00
px: scan = 4e ascii = 2b
px: scan = 4b ascii = 00
px: scan = 4c ascii = 00
px: scan = 4d ascii = 00
px: scan = 4f ascii = 00
px: scan = 50 ascii = 00
px: scan = 51 ascii = 00
px: scan = 52 ascii = 00
px: scan = 53 ascii = 00
px: scan = e0 ascii = 0d

left shift :
px: scan = e0 ascii = 2f
px: scan = 37 ascii = 2a
px: scan = 4a ascii = 2d
px: scan = 47 ascii = 37
px: scan = 48 ascii = 38
px: scan = 49 ascii = 39
px: scan = 4e ascii = 2b
px: scan = 4b ascii = 34
px: scan = 4c ascii = 35
px: scan = 4d ascii = 36
px: scan = 4f ascii = 31
px: scan = 50 ascii = 32
px: scan = 51 ascii = 33
px: scan = 52 ascii = 30
px: scan = 53 ascii = 2c
px: scan = e0 ascii = 0d

right shift :
px: scan = e0 ascii = 2f
px: scan = 37 ascii = 2a
px: scan = 4a ascii = 2d
px: scan = 47 ascii = 37
px: scan = 48 ascii = 38
px: scan = 49 ascii = 39
px: scan = 4e ascii = 2b
px: scan = 4b ascii = 34
px: scan = 4c ascii = 35
px: scan = 4d ascii = 36
px: scan = 4f ascii = 31
px: scan = 50 ascii = 32
px: scan = 51 ascii = 33
px: scan = 52 ascii = 30
px: scan = 53 ascii = 2c
px: scan = e0 ascii = 0d

Caps Lock :
px: scan = e0 ascii = 2f
px: scan = 37 ascii = 2a
px: scan = 4a ascii = 2d
px: scan = 47 ascii = 00
px: scan = 48 ascii = 00
px: scan = 49 ascii = 00
px: scan = 4e ascii = 2b
px: scan = 4b ascii = 00
px: scan = 4c ascii = 00
px: scan = 4d ascii = 00
px: scan = 4f ascii = 00
px: scan = 50 ascii = 00
px: scan = 51 ascii = 00
px: scan = 52 ascii = 00
px: scan = 53 ascii = 00
px: scan = e0 ascii = 0d

left control :
px: scan = 95 ascii = 00
px: scan = 96 ascii = 00
px: scan = 8e ascii = 00
px: scan = 77 ascii = 00
px: scan = 8d ascii = 00
px: scan = 84 ascii = 00
px: scan = 90 ascii = 00
px: scan = 73 ascii = 00
px: scan = 8f ascii = 00
px: scan = 74 ascii = 00
px: scan = 75 ascii = 00
px: scan = 91 ascii = 00
px: scan = 76 ascii = 00
px: scan = 92 ascii = 00
px: scan = 93 ascii = 00
px: scan = e0 ascii = 0a

right control :
px: scan = 95 ascii = 00
px: scan = 96 ascii = 00
px: scan = 8e ascii = 00
px: scan = 77 ascii = 00
px: scan = 8d ascii = 00
px: scan = 84 ascii = 00
px: scan = 90 ascii = 00
px: scan = 73 ascii = 00
px: scan = 8f ascii = 00
px: scan = 74 ascii = 00
px: scan = 75 ascii = 00
px: scan = 91 ascii = 00
px: scan = 76 ascii = 00
px: scan = 92 ascii = 00
px: scan = 93 ascii = 00
px: scan = e0 ascii = 0a

alt :
px: scan = a4 ascii = 00
px: scan = 37 ascii = 00
px: scan = 4a ascii = 00
px: scan = 4e ascii = 00
px: scan = a6 ascii = 00

altgr :
px: scan = a4 ascii = 00
px: scan = 37 ascii = 00
px: scan = 4a ascii = 00
px: scan = 4e ascii = 00
px: scan = a6 ascii = 00



--------------23D532C3DDB0AA9C8A183B91--

