linux ev to adb lookup table

This commit is contained in:
dekunukem
2022-01-02 22:55:10 +00:00
parent d4a5603ada
commit d142d4dd54
11 changed files with 207 additions and 98 deletions

View File

File diff suppressed because one or more lines are too long

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

@@ -27,6 +27,10 @@ Project File Date: 01/01/2022
<h2>Output:</h2>
*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
Build target 'my_adb'
compiling adb.c...
..\Src\adb.c(257): warning: #68-D: integer conversion resulted in a change of sign
return ADB_TIMEOUT;
..\Src\adb.c: 1 warning, 0 errors
compiling main.c...
../Src/main.c(370): warning: #188-D: enumerated type mixed with another type
HAL_GPIO_WritePin(DEBUG1_GPIO_Port, DEBUG1_Pin, kb_srq || mouse_srq);
@@ -34,7 +38,7 @@ compiling main.c...
linking...
Program Size: Code=9684 RO-data=312 RW-data=60 ZI-data=1916
FromELF: creating hex file...
"my_adb\my_adb.axf" - 0 Error(s), 1 Warning(s).
"my_adb\my_adb.axf" - 0 Error(s), 2 Warning(s).
<h2>Software Packages used:</h2>
@@ -57,7 +61,7 @@ Package Vendor: Keil
<h2>Collection of Component Files used:</h2>
* Component: ARM::CMSIS:CORE:5.3.0
Build Time Elapsed: 00:00:01
Build Time Elapsed: 00:00:02
</pre>
</body>
</html>

View File

@@ -3,7 +3,7 @@
<title>Static Call Graph - [my_adb\my_adb.axf]</title></head>
<body><HR>
<H1>Static Call Graph for image my_adb\my_adb.axf</H1><HR>
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060750: Last Updated: Sun Jan 02 22:16:56 2022
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060750: Last Updated: Sun Jan 02 22:54:15 2022
<BR><P>
<H3>Maximum Stack Usage = 180 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>

View File

@@ -1087,7 +1087,7 @@ Removing Unused input sections from the image.
Removing adb.o(.rev16_text), (4 bytes).
Removing adb.o(.revsh_text), (4 bytes).
Removing adb.o(.data), (83 bytes).
Removing adb.o(.constdata), (186 bytes).
Removing adb.o(.data), (1 bytes).
Removing delay_us.o(.rev16_text), (4 bytes).
Removing delay_us.o(.revsh_text), (4 bytes).
@@ -1575,7 +1575,7 @@ Removing Unused input sections from the image.
Removing stm32f0xx_hal_tim.o(i.__ARM_common_switch8), (26 bytes).
Removing depilogue.o(i.__ARM_clz), (46 bytes).
489 unused section(s) (total 34798 bytes) removed from the image.
489 unused section(s) (total 34901 bytes) removed from the image.
==============================================================================
@@ -2281,7 +2281,7 @@ Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug Object Name
980 86 0 16 0 458448 adb.o
980 86 0 16 0 458498 adb.o
52 10 0 4 0 1931 delay_us.o
370 0 0 0 0 7263 helpers.o
1656 198 61 16 380 16799 main.o
@@ -2300,7 +2300,7 @@ Image component sizes
92 14 24 4 0 1123 system_stm32f0xx.o
----------------------------------------------------------------------
8804 628 312 44 1916 539108 Object Totals
8804 628 312 44 1916 539158 Object Totals
0 0 32 0 0 0 (incl. Generated)
28 0 3 0 0 0 (incl. Padding)
@@ -2348,8 +2348,8 @@ Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug
9684 684 312 60 1916 535244 Grand Totals
9684 684 312 60 1916 535244 ELF Image Totals
9684 684 312 60 1916 535294 Grand Totals
9684 684 312 60 1916 535294 ELF Image Totals
9684 684 312 60 0 0 ROM Totals
==============================================================================

View File

@@ -1,7 +1,7 @@
Dependencies for Project 'my_adb', Target 'my_adb': (DO NOT MODIFY !)
CompilerVersion: 5060750::V5.06 update 6 (build 750)::ARMCC
F (startup_stm32f042x6.s)(0x61D0CD73)(--cpu Cortex-M0 -g --apcs=interwork --pd "__MICROLIB SETA 1"
-I.\RTE\_my_adb
-IC:\Users\allen\AppData\Local\Arm\Packs\ARM\CMSIS\5.6.0\CMSIS\Core\Include
@@ -114,7 +114,7 @@ I (../Inc/shared.h)(0x617487BD)
-D__UVISION_VERSION="529" -D_RTE_ -DSTM32F042x6 -DUSE_HAL_DRIVER -DSTM32F042x6
-o my_adb\helpers.o --omf_browse my_adb\helpers.crf --depend my_adb\helpers.d)
-o my_adb\helpers.o --omf_browse my_adb\helpers.crf --depend my_adb\helpers.d)
I (C:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5D9B429A)
I (C:\Keil_v5\ARM\ARMCC\include\string.h)(0x5D9B4298)
I (C:\Keil_v5\ARM\ARMCC\include\stdlib.h)(0x5D9B429A)

View File

@@ -21,92 +21,197 @@ uint8_t adb_mouse_current_addr, adb_kb_current_addr, adb_rw_in_progress;
#define ADB_READ_DATA_PIN() HAL_GPIO_ReadPin(adb_data_port, adb_data_pin)
#define ADB_DEFAULT_TIMEOUT_US 10000
#define ADB_KEY_UNKNOWN 255
#define EV_TO_ADB_LOOKUP_SIZE 186
uint8_t linux_scancode_to_adb_lookup[] =
const uint8_t linux_ev_to_adb_lookup[EV_TO_ADB_LOOKUP_SIZE] =
{
0x00, // A
0x0B, // B
0x08, // C
0x02, // D
0x0E, // E
0x03, // F
0x05, // G
0x04, // H
0x22, // I
0x26, // J
0x28, // K
0x25, // L
0x2E, // M
0x2D, // N
0x1F, // O
0x23, // P
0x0C, // Q
0x0F, // R
0x01, // S
0x11, // T
0x20, // U
0x09, // V
0x0D, // W
0x07, // X
0x10, // Y
0x06, // Z
0x1D, // 0
0x12, // 1
0x13, // 2
0x14, // 3
0x15, // 4
0x17, // 5
0x16, // 6
0x1A, // 7
0x1C, // 8
0x19, // 9
0x32, // `
0x1B, // -
0x18, // =
0x2A, // backslash
0x33, // bkspc
0x31, // space
0x30, // tab
0x39, // caps
0x38, // left shift
0x7B, // right shift
0x3A, // left alt = opt
0x24, // enter
0x2B, // ,
0x2F, // .
0x2C, // /
0x36, // L control
0x35, // ESC
0x27, // '
0x29, // ;
0x43, // keypad *
0x4E, // keypad -
0x45, // keypad +
0x41, // keypad .
0x52, // keypad 0
0x53, // keypad 1
0x54, // keypad 2
0x55, // keypad 3
0x56, // keypad 4
0x57, // keypad 5
0x58, // keypad 6
0x59, // keypad 7
0x5B, // keypad 8
0x5C, // keypad 9
0x7A, // F1
0x78, // F2
0x63, // F3
0x76, // F4
0x60, // F5
0x61, // F6
0x62, // F7
0x64, // F8
0x65, // F9
0x6D, // F10
0x67, // F11
0x6F, // F12
0x21, // [
0x1E, // ]
ADB_KEY_UNKNOWN, // EV0 KEY_RESERVED
53, // EV1 KEY_ESC
18, // EV2 KEY_1
19, // EV3 KEY_2
20, // EV4 KEY_3
21, // EV5 KEY_4
23, // EV6 KEY_5
22, // EV7 KEY_6
26, // EV8 KEY_7
28, // EV9 KEY_8
25, // EV10 KEY_9
29, // EV11 KEY_0
27, // EV12 KEY_MINUS
24, // EV13 KEY_EQUAL
51, // EV14 KEY_BACKSPACE
48, // EV15 KEY_TAB
12, // EV16 KEY_Q
13, // EV17 KEY_W
14, // EV18 KEY_E
15, // EV19 KEY_R
17, // EV20 KEY_T
16, // EV21 KEY_Y
32, // EV22 KEY_U
34, // EV23 KEY_I
31, // EV24 KEY_O
35, // EV25 KEY_P
33, // EV26 KEY_LEFTBRACE
30, // EV27 KEY_RIGHTBRACE
36, // EV28 KEY_ENTER
54, // EV29 KEY_LEFTCTRL
0, // EV30 KEY_A
1, // EV31 KEY_S
2, // EV32 KEY_D
3, // EV33 KEY_F
5, // EV34 KEY_G
4, // EV35 KEY_H
38, // EV36 KEY_J
40, // EV37 KEY_K
37, // EV38 KEY_L
41, // EV39 KEY_SEMICOLON
39, // EV40 KEY_APOSTROPHE
50, // EV41 KEY_GRAVE
56, // EV42 KEY_LEFTSHIFT
ADB_KEY_UNKNOWN, // EV43 KEY_BACKSLASH
6, // EV44 KEY_Z
7, // EV45 KEY_X
8, // EV46 KEY_C
9, // EV47 KEY_V
11, // EV48 KEY_B
45, // EV49 KEY_N
46, // EV50 KEY_M
43, // EV51 KEY_COMMA
47, // EV52 KEY_DOT
44, // EV53 KEY_SLASH
123, // EV54 KEY_RIGHTSHIFT
67, // EV55 KEY_KPASTERISK
58, // EV56 KEY_LEFTALT
49, // EV57 KEY_SPACE
57, // EV58 KEY_CAPSLOCK
122, // EV59 KEY_F1
120, // EV60 KEY_F2
99, // EV61 KEY_F3
118, // EV62 KEY_F4
96, // EV63 KEY_F5
97, // EV64 KEY_F6
98, // EV65 KEY_F7
100, // EV66 KEY_F8
101, // EV67 KEY_F9
109, // EV68 KEY_F10
71, // EV69 KEY_NUMLOCK
ADB_KEY_UNKNOWN, // EV70 KEY_SCROLLLOCK
89, // EV71 KEY_KP7
91, // EV72 KEY_KP8
92, // EV73 KEY_KP9
78, // EV74 KEY_KPMINUS
86, // EV75 KEY_KP4
87, // EV76 KEY_KP5
88, // EV77 KEY_KP6
69, // EV78 KEY_KPPLUS
83, // EV79 KEY_KP1
84, // EV80 KEY_KP2
85, // EV81 KEY_KP3
82, // EV82 KEY_KP0
65, // EV83 KEY_KPDOT
ADB_KEY_UNKNOWN, // EV84 UNKNOWN
ADB_KEY_UNKNOWN, // EV85 KEY_ZENKAKUHANKAKU
10, // EV86 KEY_102ND
103, // EV87 KEY_F11
111, // EV88 KEY_F12
ADB_KEY_UNKNOWN, // EV89 KEY_RO
ADB_KEY_UNKNOWN, // EV90 KEY_KATAKANA
ADB_KEY_UNKNOWN, // EV91 KEY_HIRAGANA
ADB_KEY_UNKNOWN, // EV92 KEY_HENKAN
ADB_KEY_UNKNOWN, // EV93 KEY_KATAKANAHIRAGANA
ADB_KEY_UNKNOWN, // EV94 KEY_MUHENKAN
ADB_KEY_UNKNOWN, // EV95 KEY_KPJPCOMMA
76, // EV96 KEY_KPENTER
125, // EV97 KEY_RIGHTCTRL
75, // EV98 KEY_KPSLASH
ADB_KEY_UNKNOWN, // EV99 KEY_SYSRQ
124, // EV100 KEY_RIGHTALT
ADB_KEY_UNKNOWN, // EV101 KEY_LINEFEED
115, // EV102 KEY_HOME
62, // EV103 KEY_UP
116, // EV104 KEY_PAGEUP
59, // EV105 KEY_LEFT
60, // EV106 KEY_RIGHT
119, // EV107 KEY_END
61, // EV108 KEY_DOWN
121, // EV109 KEY_PAGEDOWN
114, // EV110 KEY_INSERT
117, // EV111 KEY_DELETE
ADB_KEY_UNKNOWN, // EV112 KEY_MACRO
ADB_KEY_UNKNOWN, // EV113 KEY_MUTE
ADB_KEY_UNKNOWN, // EV114 KEY_VOLUMEDOWN
ADB_KEY_UNKNOWN, // EV115 KEY_VOLUMEUP
ADB_KEY_UNKNOWN, // EV116 KEY_POWER
81, // EV117 KEY_KPEQUAL
ADB_KEY_UNKNOWN, // EV118 KEY_KPPLUSMINUS
ADB_KEY_UNKNOWN, // EV119 KEY_PAUSE
ADB_KEY_UNKNOWN, // EV120 KEY_SCALE
ADB_KEY_UNKNOWN, // EV121 KEY_KPCOMMA
ADB_KEY_UNKNOWN, // EV122 KEY_HANGEUL
ADB_KEY_UNKNOWN, // EV123 KEY_HANJA
ADB_KEY_UNKNOWN, // EV124 KEY_YEN
55, // EV125 KEY_LEFTMETA
ADB_KEY_UNKNOWN, // EV126 KEY_RIGHTMETA
ADB_KEY_UNKNOWN, // EV127 KEY_COMPOSE
ADB_KEY_UNKNOWN, // EV128 KEY_STOP
ADB_KEY_UNKNOWN, // EV129 KEY_AGAIN
ADB_KEY_UNKNOWN, // EV130 KEY_PROPS
ADB_KEY_UNKNOWN, // EV131 KEY_UNDO
ADB_KEY_UNKNOWN, // EV132 KEY_FRONT
ADB_KEY_UNKNOWN, // EV133 KEY_COPY
ADB_KEY_UNKNOWN, // EV134 KEY_OPEN
ADB_KEY_UNKNOWN, // EV135 KEY_PASTE
ADB_KEY_UNKNOWN, // EV136 KEY_FIND
ADB_KEY_UNKNOWN, // EV137 KEY_CUT
ADB_KEY_UNKNOWN, // EV138 KEY_HELP
ADB_KEY_UNKNOWN, // EV139 KEY_MENU
ADB_KEY_UNKNOWN, // EV140 KEY_CALC
ADB_KEY_UNKNOWN, // EV141 KEY_SETUP
ADB_KEY_UNKNOWN, // EV142 KEY_SLEEP
ADB_KEY_UNKNOWN, // EV143 KEY_WAKEUP
ADB_KEY_UNKNOWN, // EV144 KEY_FILE
ADB_KEY_UNKNOWN, // EV145 KEY_SENDFILE
ADB_KEY_UNKNOWN, // EV146 KEY_DELETEFILE
ADB_KEY_UNKNOWN, // EV147 KEY_XFER
ADB_KEY_UNKNOWN, // EV148 KEY_PROG1
ADB_KEY_UNKNOWN, // EV149 KEY_PROG2
ADB_KEY_UNKNOWN, // EV150 KEY_WWW
ADB_KEY_UNKNOWN, // EV151 KEY_MSDOS
ADB_KEY_UNKNOWN, // EV152 KEY_COFFEE
ADB_KEY_UNKNOWN, // EV153 KEY_ROTATE_DISPLAY
ADB_KEY_UNKNOWN, // EV154 KEY_CYCLEWINDOWS
ADB_KEY_UNKNOWN, // EV155 KEY_MAIL
ADB_KEY_UNKNOWN, // EV156 KEY_BOOKMARKS
ADB_KEY_UNKNOWN, // EV157 KEY_COMPUTER
ADB_KEY_UNKNOWN, // EV158 KEY_BACK
ADB_KEY_UNKNOWN, // EV159 KEY_FORWARD
ADB_KEY_UNKNOWN, // EV160 KEY_CLOSECD
ADB_KEY_UNKNOWN, // EV161 KEY_EJECTCD
ADB_KEY_UNKNOWN, // EV162 KEY_EJECTCLOSECD
ADB_KEY_UNKNOWN, // EV163 KEY_NEXTSONG
ADB_KEY_UNKNOWN, // EV164 KEY_PLAYPAUSE
ADB_KEY_UNKNOWN, // EV165 KEY_PREVIOUSSONG
ADB_KEY_UNKNOWN, // EV166 KEY_STOPCD
ADB_KEY_UNKNOWN, // EV167 KEY_RECORD
ADB_KEY_UNKNOWN, // EV168 KEY_REWIND
ADB_KEY_UNKNOWN, // EV169 KEY_PHONE
ADB_KEY_UNKNOWN, // EV170 KEY_ISO
ADB_KEY_UNKNOWN, // EV171 KEY_CONFIG
ADB_KEY_UNKNOWN, // EV172 KEY_HOMEPAGE
ADB_KEY_UNKNOWN, // EV173 KEY_REFRESH
ADB_KEY_UNKNOWN, // EV174 KEY_EXIT
ADB_KEY_UNKNOWN, // EV175 KEY_MOVE
ADB_KEY_UNKNOWN, // EV176 KEY_EDIT
ADB_KEY_UNKNOWN, // EV177 KEY_SCROLLUP
ADB_KEY_UNKNOWN, // EV178 KEY_SCROLLDOWN
ADB_KEY_UNKNOWN, // EV179 KEY_KPLEFTPAREN
ADB_KEY_UNKNOWN, // EV180 KEY_KPRIGHTPAREN
ADB_KEY_UNKNOWN, // EV181 KEY_NEW
ADB_KEY_UNKNOWN, // EV182 KEY_REDO
105, // EV183 KEY_F13
107, // EV184 KEY_F14
113, // EV185 KEY_F15
};
void adb_release_lines(void)