Attempt a mode switch
This commit is contained in:
parent
6bdbbd201d
commit
5f4af5880b
15 changed files with 607 additions and 7 deletions
2
Makefile
2
Makefile
|
|
@ -1,7 +1,7 @@
|
|||
CFLAGS= -g -O0 -D _DEFAULT_SOURCE -D_POSIX_C_SOURCE=200112L -std=c11 -fPIE -pedantic -Wall # -Werror
|
||||
LDFLAGS=-lpthread -levdev -lrt -lm
|
||||
CC=gcc
|
||||
OBJECTS=main.o input_dev.o dev_iio.o output_dev.o queue.o
|
||||
OBJECTS=main.o input_dev.o dev_iio.o output_dev.o queue.o platform.o
|
||||
TARGET=rogue_enemy
|
||||
|
||||
all: $(TARGET)
|
||||
|
|
|
|||
0
References/RC71L/all_modes_ac_btn_long_press.txt
Normal file
0
References/RC71L/all_modes_ac_btn_long_press.txt
Normal file
6
References/RC71L/all_modes_ac_btn_short_press.txt
Normal file
6
References/RC71L/all_modes_ac_btn_short_press.txt
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
Event: time 1699802451.149044, type 4 (EV_MSC), code 4 (MSC_SCAN), value ff3100a6
|
||||
Event: time 1699802451.149044, type 1 (EV_KEY), code 186 (KEY_F16), value 1
|
||||
Event: time 1699802451.149044, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802451.150020, type 4 (EV_MSC), code 4 (MSC_SCAN), value ff3100a6
|
||||
Event: time 1699802451.150020, type 1 (EV_KEY), code 186 (KEY_F16), value 0
|
||||
Event: time 1699802451.150020, -------------- SYN_REPORT ------------
|
||||
18
References/RC71L/all_modes_cc_btn_long_press.txt
Normal file
18
References/RC71L/all_modes_cc_btn_long_press.txt
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
Event: time 1699802385.002438, type 4 (EV_MSC), code 4 (MSC_SCAN), value ff3100a7
|
||||
Event: time 1699802385.002438, type 1 (EV_KEY), code 187 (KEY_F17), value 1
|
||||
Event: time 1699802385.002438, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802385.003374, type 4 (EV_MSC), code 4 (MSC_SCAN), value ff3100a7
|
||||
Event: time 1699802385.003374, type 1 (EV_KEY), code 187 (KEY_F17), value 0
|
||||
Event: time 1699802385.003374, -------------- SYN_REPORT ------------
|
||||
|
||||
|
||||
|
||||
************************** RELEASE ****************************
|
||||
|
||||
|
||||
Event: time 1699802387.554591, type 4 (EV_MSC), code 4 (MSC_SCAN), value ff3100a8
|
||||
Event: time 1699802387.554591, type 1 (EV_KEY), code 188 (KEY_F18), value 1
|
||||
Event: time 1699802387.554591, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802387.555300, type 4 (EV_MSC), code 4 (MSC_SCAN), value ff3100a8
|
||||
Event: time 1699802387.555300, type 1 (EV_KEY), code 188 (KEY_F18), value 0
|
||||
Event: time 1699802387.555300, -------------- SYN_REPORT ------------
|
||||
6
References/RC71L/all_modes_cc_btn_short_press.txt
Normal file
6
References/RC71L/all_modes_cc_btn_short_press.txt
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
Event: time 1699802287.731662, type 4 (EV_MSC), code 4 (MSC_SCAN), value ff310038
|
||||
Event: time 1699802287.731662, type 1 (EV_KEY), code 148 (KEY_PROG1), value 1
|
||||
Event: time 1699802287.731662, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802287.732504, type 4 (EV_MSC), code 4 (MSC_SCAN), value ff310038
|
||||
Event: time 1699802287.732504, type 1 (EV_KEY), code 148 (KEY_PROG1), value 0
|
||||
Event: time 1699802287.732504, -------------- SYN_REPORT ------------
|
||||
36
References/RC71L/macro_mode_left_paddle.txt
Normal file
36
References/RC71L/macro_mode_left_paddle.txt
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
Event: time 1699802715.457275, type 4 (EV_MSC), code 4 (MSC_SCAN), value ff3100a5
|
||||
Event: time 1699802715.457275, type 1 (EV_KEY), code 185 (KEY_F15), value 1
|
||||
Event: time 1699802715.457275, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802715.715425, type 1 (EV_KEY), code 185 (KEY_F15), value 2
|
||||
Event: time 1699802715.715425, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802715.752079, type 1 (EV_KEY), code 185 (KEY_F15), value 2
|
||||
Event: time 1699802715.752079, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802715.788728, type 1 (EV_KEY), code 185 (KEY_F15), value 2
|
||||
Event: time 1699802715.788728, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802715.825500, type 1 (EV_KEY), code 185 (KEY_F15), value 2
|
||||
Event: time 1699802715.825500, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802715.862063, type 1 (EV_KEY), code 185 (KEY_F15), value 2
|
||||
Event: time 1699802715.862063, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802715.898731, type 1 (EV_KEY), code 185 (KEY_F15), value 2
|
||||
Event: time 1699802715.898731, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802715.935681, type 1 (EV_KEY), code 185 (KEY_F15), value 2
|
||||
Event: time 1699802715.935681, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802715.972079, type 1 (EV_KEY), code 185 (KEY_F15), value 2
|
||||
Event: time 1699802715.972079, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802716.008732, type 1 (EV_KEY), code 185 (KEY_F15), value 2
|
||||
Event: time 1699802716.008732, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802716.045686, type 1 (EV_KEY), code 185 (KEY_F15), value 2
|
||||
Event: time 1699802716.045686, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802716.082112, type 1 (EV_KEY), code 185 (KEY_F15), value 2
|
||||
Event: time 1699802716.082112, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802716.118739, type 1 (EV_KEY), code 185 (KEY_F15), value 2
|
||||
Event: time 1699802716.118739, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802716.155408, type 1 (EV_KEY), code 185 (KEY_F15), value 2
|
||||
Event: time 1699802716.155408, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802716.192081, type 1 (EV_KEY), code 185 (KEY_F15), value 2
|
||||
Event: time 1699802716.192081, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802716.228740, type 1 (EV_KEY), code 185 (KEY_F15), value 2
|
||||
Event: time 1699802716.228740, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802716.255144, type 4 (EV_MSC), code 4 (MSC_SCAN), value ff3100a5
|
||||
Event: time 1699802716.255144, type 1 (EV_KEY), code 185 (KEY_F15), value 0
|
||||
Event: time 1699802716.255144, -------------- SYN_REPORT ------------
|
||||
42
References/RC71L/macro_mode_right_paddle.txt
Normal file
42
References/RC71L/macro_mode_right_paddle.txt
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
Event: time 1699802685.428854, type 4 (EV_MSC), code 4 (MSC_SCAN), value ff3100a5
|
||||
Event: time 1699802685.428854, type 1 (EV_KEY), code 185 (KEY_F15), value 1
|
||||
Event: time 1699802685.428854, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802685.688724, type 1 (EV_KEY), code 185 (KEY_F15), value 2
|
||||
Event: time 1699802685.688724, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802685.725398, type 1 (EV_KEY), code 185 (KEY_F15), value 2
|
||||
Event: time 1699802685.725398, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802685.762568, type 1 (EV_KEY), code 185 (KEY_F15), value 2
|
||||
Event: time 1699802685.762568, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802685.798773, type 1 (EV_KEY), code 185 (KEY_F15), value 2
|
||||
Event: time 1699802685.798773, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802685.835437, type 1 (EV_KEY), code 185 (KEY_F15), value 2
|
||||
Event: time 1699802685.835437, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802685.872117, type 1 (EV_KEY), code 185 (KEY_F15), value 2
|
||||
Event: time 1699802685.872117, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802685.908746, type 1 (EV_KEY), code 185 (KEY_F15), value 2
|
||||
Event: time 1699802685.908746, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802685.945713, type 1 (EV_KEY), code 185 (KEY_F15), value 2
|
||||
Event: time 1699802685.945713, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802685.982089, type 1 (EV_KEY), code 185 (KEY_F15), value 2
|
||||
Event: time 1699802685.982089, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802686.018753, type 1 (EV_KEY), code 185 (KEY_F15), value 2
|
||||
Event: time 1699802686.018753, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802686.055456, type 1 (EV_KEY), code 185 (KEY_F15), value 2
|
||||
Event: time 1699802686.055456, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802686.092080, type 1 (EV_KEY), code 185 (KEY_F15), value 2
|
||||
Event: time 1699802686.092080, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802686.128741, type 1 (EV_KEY), code 185 (KEY_F15), value 2
|
||||
Event: time 1699802686.128741, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802686.165429, type 1 (EV_KEY), code 185 (KEY_F15), value 2
|
||||
Event: time 1699802686.165429, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802686.202093, type 1 (EV_KEY), code 185 (KEY_F15), value 2
|
||||
Event: time 1699802686.202093, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802686.238744, type 1 (EV_KEY), code 185 (KEY_F15), value 2
|
||||
Event: time 1699802686.238744, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802686.275419, type 1 (EV_KEY), code 185 (KEY_F15), value 2
|
||||
Event: time 1699802686.275419, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802686.312108, type 1 (EV_KEY), code 185 (KEY_F15), value 2
|
||||
Event: time 1699802686.312108, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802686.316777, type 4 (EV_MSC), code 4 (MSC_SCAN), value ff3100a5
|
||||
Event: time 1699802686.316777, type 1 (EV_KEY), code 185 (KEY_F15), value 0
|
||||
Event: time 1699802686.316777, -------------- SYN_REPORT ------------
|
||||
296
References/RC71L/others_mode_left_paddle.txt
Normal file
296
References/RC71L/others_mode_left_paddle.txt
Normal file
|
|
@ -0,0 +1,296 @@
|
|||
Event: time 1699802000.908792, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802000.912796, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7006c
|
||||
Event: time 1699802000.912796, type 1 (EV_KEY), code 187 (KEY_F17), value 0
|
||||
Event: time 1699802000.912796, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802002.192841, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7006c
|
||||
Event: time 1699802002.192841, type 1 (EV_KEY), code 187 (KEY_F17), value 1
|
||||
Event: time 1699802002.192841, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802002.462123, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802002.462123, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802002.498880, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802002.498880, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802002.535470, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802002.535470, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802002.572140, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802002.572140, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802002.608817, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802002.608817, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802002.648826, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802002.648826, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802002.685471, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802002.685471, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802002.722164, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802002.722164, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802002.758812, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802002.758812, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802002.795451, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802002.795451, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802002.832150, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802002.832150, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802002.868852, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802002.868852, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802002.905479, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802002.905479, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802002.942136, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802002.942136, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802002.978782, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802002.978782, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802003.015478, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802003.015478, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802003.052491, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802003.052491, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802003.092142, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802003.092142, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802003.128803, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802003.128803, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802003.165479, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802003.165479, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802003.202443, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802003.202443, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802003.242144, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802003.242144, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802003.278802, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802003.278802, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802003.315466, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802003.315466, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802003.352147, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802003.352147, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802003.388850, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802003.388850, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802003.425463, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802003.425463, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802003.439779, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7006c
|
||||
Event: time 1699802003.439779, type 1 (EV_KEY), code 187 (KEY_F17), value 0
|
||||
Event: time 1699802003.439779, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802005.080726, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7006c
|
||||
Event: time 1699802005.080726, type 1 (EV_KEY), code 187 (KEY_F17), value 1
|
||||
Event: time 1699802005.080726, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802005.222702, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7006c
|
||||
Event: time 1699802005.222702, type 1 (EV_KEY), code 187 (KEY_F17), value 0
|
||||
Event: time 1699802005.222702, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802009.983570, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7006c
|
||||
Event: time 1699802009.983570, type 1 (EV_KEY), code 187 (KEY_F17), value 1
|
||||
Event: time 1699802009.983570, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802010.215561, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7006c
|
||||
Event: time 1699802010.215561, type 1 (EV_KEY), code 187 (KEY_F17), value 0
|
||||
Event: time 1699802010.215561, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802010.922570, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7006c
|
||||
Event: time 1699802010.922570, type 1 (EV_KEY), code 187 (KEY_F17), value 1
|
||||
Event: time 1699802010.922570, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802011.029603, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7006c
|
||||
Event: time 1699802011.029603, type 1 (EV_KEY), code 187 (KEY_F17), value 0
|
||||
Event: time 1699802011.029603, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802011.339606, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7006c
|
||||
Event: time 1699802011.339606, type 1 (EV_KEY), code 187 (KEY_F17), value 1
|
||||
Event: time 1699802011.339606, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802011.430577, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7006c
|
||||
Event: time 1699802011.430577, type 1 (EV_KEY), code 187 (KEY_F17), value 0
|
||||
Event: time 1699802011.430577, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802011.686583, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7006c
|
||||
Event: time 1699802011.686583, type 1 (EV_KEY), code 187 (KEY_F17), value 1
|
||||
Event: time 1699802011.686583, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802011.771570, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7006c
|
||||
Event: time 1699802011.771570, type 1 (EV_KEY), code 187 (KEY_F17), value 0
|
||||
Event: time 1699802011.771570, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802012.650546, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7006c
|
||||
Event: time 1699802012.650546, type 1 (EV_KEY), code 187 (KEY_F17), value 1
|
||||
Event: time 1699802012.650546, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802012.762573, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7006c
|
||||
Event: time 1699802012.762573, type 1 (EV_KEY), code 187 (KEY_F17), value 0
|
||||
Event: time 1699802012.762573, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802012.951609, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7006c
|
||||
Event: time 1699802012.951609, type 1 (EV_KEY), code 187 (KEY_F17), value 1
|
||||
Event: time 1699802012.951609, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802013.063567, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7006c
|
||||
Event: time 1699802013.063567, type 1 (EV_KEY), code 187 (KEY_F17), value 0
|
||||
Event: time 1699802013.063567, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802013.228557, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7006c
|
||||
Event: time 1699802013.228557, type 1 (EV_KEY), code 187 (KEY_F17), value 1
|
||||
Event: time 1699802013.228557, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802013.334572, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7006c
|
||||
Event: time 1699802013.334572, type 1 (EV_KEY), code 187 (KEY_F17), value 0
|
||||
Event: time 1699802013.334572, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802013.483576, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7006c
|
||||
Event: time 1699802013.483576, type 1 (EV_KEY), code 187 (KEY_F17), value 1
|
||||
Event: time 1699802013.483576, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802013.605586, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7006c
|
||||
Event: time 1699802013.605586, type 1 (EV_KEY), code 187 (KEY_F17), value 0
|
||||
Event: time 1699802013.605586, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802013.740513, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7006c
|
||||
Event: time 1699802013.740513, type 1 (EV_KEY), code 187 (KEY_F17), value 1
|
||||
Event: time 1699802013.740513, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802013.867522, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7006c
|
||||
Event: time 1699802013.867522, type 1 (EV_KEY), code 187 (KEY_F17), value 0
|
||||
Event: time 1699802013.867522, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802014.051517, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7006c
|
||||
Event: time 1699802014.051517, type 1 (EV_KEY), code 187 (KEY_F17), value 1
|
||||
Event: time 1699802014.051517, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802014.122526, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7006c
|
||||
Event: time 1699802014.122526, type 1 (EV_KEY), code 187 (KEY_F17), value 0
|
||||
Event: time 1699802014.122526, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802014.287549, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7006c
|
||||
Event: time 1699802014.287549, type 1 (EV_KEY), code 187 (KEY_F17), value 1
|
||||
Event: time 1699802014.287549, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802014.414549, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7006c
|
||||
Event: time 1699802014.414549, type 1 (EV_KEY), code 187 (KEY_F17), value 0
|
||||
Event: time 1699802014.414549, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802014.569547, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7006c
|
||||
Event: time 1699802014.569547, type 1 (EV_KEY), code 187 (KEY_F17), value 1
|
||||
Event: time 1699802014.569547, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802014.631514, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7006c
|
||||
Event: time 1699802014.631514, type 1 (EV_KEY), code 187 (KEY_F17), value 0
|
||||
Event: time 1699802014.631514, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802014.800470, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7006c
|
||||
Event: time 1699802014.800470, type 1 (EV_KEY), code 187 (KEY_F17), value 1
|
||||
Event: time 1699802014.800470, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802014.876531, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7006c
|
||||
Event: time 1699802014.876531, type 1 (EV_KEY), code 187 (KEY_F17), value 0
|
||||
Event: time 1699802014.876531, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802015.352530, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7006c
|
||||
Event: time 1699802015.352530, type 1 (EV_KEY), code 187 (KEY_F17), value 1
|
||||
Event: time 1699802015.352530, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802015.489491, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7006c
|
||||
Event: time 1699802015.489491, type 1 (EV_KEY), code 187 (KEY_F17), value 0
|
||||
Event: time 1699802015.489491, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802015.629519, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7006c
|
||||
Event: time 1699802015.629519, type 1 (EV_KEY), code 187 (KEY_F17), value 1
|
||||
Event: time 1699802015.629519, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802015.725503, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7006c
|
||||
Event: time 1699802015.725503, type 1 (EV_KEY), code 187 (KEY_F17), value 0
|
||||
Event: time 1699802015.725503, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802015.895515, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7006c
|
||||
Event: time 1699802015.895515, type 1 (EV_KEY), code 187 (KEY_F17), value 1
|
||||
Event: time 1699802015.895515, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802015.976520, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7006c
|
||||
Event: time 1699802015.976520, type 1 (EV_KEY), code 187 (KEY_F17), value 0
|
||||
Event: time 1699802015.976520, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802017.768481, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7006c
|
||||
Event: time 1699802017.768481, type 1 (EV_KEY), code 187 (KEY_F17), value 1
|
||||
Event: time 1699802017.768481, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802018.035658, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802018.035658, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802018.072208, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802018.072208, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802018.108800, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802018.108800, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802018.145462, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802018.145462, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802018.182137, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802018.182137, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802018.218819, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802018.218819, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802018.255493, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802018.255493, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802018.292183, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802018.292183, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802018.328803, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802018.328803, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802018.365473, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802018.365473, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802018.402133, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802018.402133, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802018.438892, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802018.438892, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802018.475466, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802018.475466, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802018.512206, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802018.512206, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802018.548813, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802018.548813, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802018.585479, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802018.585479, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802018.622151, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802018.622151, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802018.658786, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802018.658786, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802018.695466, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802018.695466, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802018.732424, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802018.732424, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802018.768849, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802018.768849, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802018.805734, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802018.805734, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802018.842176, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802018.842176, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802018.878810, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802018.878810, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802018.915616, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802018.915616, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802018.952163, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802018.952163, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802018.988815, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802018.988815, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802019.025480, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802019.025480, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802019.062145, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802019.062145, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802019.096416, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7006c
|
||||
Event: time 1699802019.096416, type 1 (EV_KEY), code 187 (KEY_F17), value 0
|
||||
Event: time 1699802019.096416, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802020.692406, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7006c
|
||||
Event: time 1699802020.692406, type 1 (EV_KEY), code 187 (KEY_F17), value 1
|
||||
Event: time 1699802020.692406, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802020.969124, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802020.969124, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802021.005476, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802021.005476, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802021.045464, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802021.045464, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802021.082133, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802021.082133, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802021.118801, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802021.118801, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802021.155463, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802021.155463, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802021.192139, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802021.192139, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802021.228793, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802021.228793, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802021.265494, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802021.265494, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802021.302135, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802021.302135, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802021.338859, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802021.338859, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802021.375480, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802021.375480, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802021.412137, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802021.412137, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802021.448816, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802021.448816, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802021.485462, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802021.485462, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802021.522164, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802021.522164, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802021.558809, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802021.558809, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802021.595471, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802021.595471, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802021.632144, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802021.632144, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802021.668814, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802021.668814, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802021.705539, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802021.705539, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802021.742166, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802021.742166, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802021.778805, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802021.778805, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802021.815483, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802021.815483, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802021.852170, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802021.852170, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802021.888809, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802021.888809, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802021.925977, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802021.925977, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802021.962134, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802021.962134, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802021.998833, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802021.998833, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802022.035525, type 1 (EV_KEY), code 187 (KEY_F17), value 2
|
||||
Event: time 1699802022.035525, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802022.060574, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7006c
|
||||
Event: time 1699802022.060574, type 1 (EV_KEY), code 187 (KEY_F17), value 0
|
||||
Event: time 1699802022.060574, -------------- SYN_REPORT ------------
|
||||
63
References/RC71L/others_mode_right_paddle.txt
Normal file
63
References/RC71L/others_mode_right_paddle.txt
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
Event: time 1699802130.551120, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7006d
|
||||
Event: time 1699802130.551120, type 1 (EV_KEY), code 188 (KEY_F18), value 0
|
||||
Event: time 1699802130.551120, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802136.758901, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7006d
|
||||
Event: time 1699802136.758901, type 1 (EV_KEY), code 188 (KEY_F18), value 1
|
||||
Event: time 1699802136.758901, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802137.022138, type 1 (EV_KEY), code 188 (KEY_F18), value 2
|
||||
Event: time 1699802137.022138, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802137.058799, type 1 (EV_KEY), code 188 (KEY_F18), value 2
|
||||
Event: time 1699802137.058799, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802137.095769, type 1 (EV_KEY), code 188 (KEY_F18), value 2
|
||||
Event: time 1699802137.095769, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802137.132453, type 1 (EV_KEY), code 188 (KEY_F18), value 2
|
||||
Event: time 1699802137.132453, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802137.168793, type 1 (EV_KEY), code 188 (KEY_F18), value 2
|
||||
Event: time 1699802137.168793, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802137.205768, type 1 (EV_KEY), code 188 (KEY_F18), value 2
|
||||
Event: time 1699802137.205768, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802137.242134, type 1 (EV_KEY), code 188 (KEY_F18), value 2
|
||||
Event: time 1699802137.242134, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802137.278820, type 1 (EV_KEY), code 188 (KEY_F18), value 2
|
||||
Event: time 1699802137.278820, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802137.315459, type 1 (EV_KEY), code 188 (KEY_F18), value 2
|
||||
Event: time 1699802137.315459, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802137.352149, type 1 (EV_KEY), code 188 (KEY_F18), value 2
|
||||
Event: time 1699802137.352149, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802137.388821, type 1 (EV_KEY), code 188 (KEY_F18), value 2
|
||||
Event: time 1699802137.388821, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802137.425464, type 1 (EV_KEY), code 188 (KEY_F18), value 2
|
||||
Event: time 1699802137.425464, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802137.462156, type 1 (EV_KEY), code 188 (KEY_F18), value 2
|
||||
Event: time 1699802137.462156, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802137.499122, type 1 (EV_KEY), code 188 (KEY_F18), value 2
|
||||
Event: time 1699802137.499122, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802137.535458, type 1 (EV_KEY), code 188 (KEY_F18), value 2
|
||||
Event: time 1699802137.535458, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802137.572125, type 1 (EV_KEY), code 188 (KEY_F18), value 2
|
||||
Event: time 1699802137.572125, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802137.608799, type 1 (EV_KEY), code 188 (KEY_F18), value 2
|
||||
Event: time 1699802137.608799, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802137.645464, type 1 (EV_KEY), code 188 (KEY_F18), value 2
|
||||
Event: time 1699802137.645464, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802137.682157, type 1 (EV_KEY), code 188 (KEY_F18), value 2
|
||||
Event: time 1699802137.682157, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802137.718800, type 1 (EV_KEY), code 188 (KEY_F18), value 2
|
||||
Event: time 1699802137.718800, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802137.755515, type 1 (EV_KEY), code 188 (KEY_F18), value 2
|
||||
Event: time 1699802137.755515, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802137.792112, type 1 (EV_KEY), code 188 (KEY_F18), value 2
|
||||
Event: time 1699802137.792112, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802137.828788, type 1 (EV_KEY), code 188 (KEY_F18), value 2
|
||||
Event: time 1699802137.828788, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802137.865511, type 1 (EV_KEY), code 188 (KEY_F18), value 2
|
||||
Event: time 1699802137.865511, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802137.902129, type 1 (EV_KEY), code 188 (KEY_F18), value 2
|
||||
Event: time 1699802137.902129, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802137.938782, type 1 (EV_KEY), code 188 (KEY_F18), value 2
|
||||
Event: time 1699802137.938782, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802137.975445, type 1 (EV_KEY), code 188 (KEY_F18), value 2
|
||||
Event: time 1699802137.975445, -------------- SYN_REPORT ------------
|
||||
Event: time 1699802138.004910, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7006d
|
||||
Event: time 1699802138.004910, type 1 (EV_KEY), code 188 (KEY_F18), value 0
|
||||
Event: time 1699802138.004910, -------------- SYN_REPORT ------------
|
||||
30
input_dev.c
30
input_dev.c
|
|
@ -2,6 +2,7 @@
|
|||
#include "message.h"
|
||||
#include "queue.h"
|
||||
#include "dev_iio.h"
|
||||
#include "platform.h"
|
||||
|
||||
#include <libevdev-1.0/libevdev/libevdev.h>
|
||||
#include <linux/input-event-codes.h>
|
||||
|
|
@ -18,6 +19,29 @@
|
|||
static const char *input_path = "/dev/input/";
|
||||
static const char *iio_path = "/sys/bus/iio/devices/";
|
||||
|
||||
int input_filter_identity(struct input_event* events, size_t* size, uint32_t* count) {
|
||||
return INPUT_FILTER_RESULT_OK;
|
||||
}
|
||||
|
||||
int input_filter_asus_kb(struct input_event* events, size_t* size, uint32_t* count) {
|
||||
if ((*count >= 2) && (events[0].type == EV_MSC) && (events[0].code == MSC_SCAN) && (events[0].value == 0xff3100a7)) {
|
||||
if ((events[1].type == EV_KEY) && (events[1].code == KEY_F18)) {
|
||||
if (events[1].value == 1) {
|
||||
printf("Detected mode switch command, switching mode...\n");
|
||||
cycle_mode();
|
||||
} else {
|
||||
// Do nothing effectively discarding the input
|
||||
}
|
||||
}
|
||||
|
||||
return INPUT_FILTER_RESULT_DO_NOT_EMIT;
|
||||
} else if ((*count >= 2) && (events[0].type == EV_MSC) && (events[0].code == MSC_SCAN) && (events[0].value == 0xff3100a8)) {
|
||||
return INPUT_FILTER_RESULT_DO_NOT_EMIT;
|
||||
}
|
||||
|
||||
return INPUT_FILTER_RESULT_OK;
|
||||
}
|
||||
|
||||
static struct libevdev* ev_matches(const char* sysfs_entry, const uinput_filters_t* const filters) {
|
||||
struct libevdev *dev = NULL;
|
||||
|
||||
|
|
@ -88,6 +112,7 @@ struct input_ctx {
|
|||
dev_iio_t *iio_dev;
|
||||
queue_t* queue;
|
||||
message_t messages[MAX_MESSAGES_IN_FLIGHT];
|
||||
input_filter_t input_filter_fn;
|
||||
};
|
||||
|
||||
static void* iio_read_thread_func(void* ptr) {
|
||||
|
|
@ -176,7 +201,9 @@ static void* input_read_thread_func(void* ptr) {
|
|||
|
||||
if (read_ev.type == EV_MSC) {
|
||||
if (read_ev.code == MSC_SCAN) {
|
||||
#if defined(IGNORE_INPUT_SCAN)
|
||||
continue;
|
||||
#endif // IGNORE_INPUT_SCAN
|
||||
} else if (read_ev.code == MSC_TIMESTAMP) {
|
||||
// the output device will handle that
|
||||
//printf("MSC_TIMESTAMP found. Ignoring...\n");
|
||||
|
|
@ -211,12 +238,14 @@ static void* input_read_thread_func(void* ptr) {
|
|||
// clear out flags
|
||||
msg->flags = 0x00000000U;
|
||||
|
||||
if (ctx->input_filter_fn(msg->ev, &msg->ev_size, &msg->ev_count) != INPUT_FILTER_RESULT_DO_NOT_EMIT) {
|
||||
if (queue_push(ctx->queue, (void*)msg) != 0) {
|
||||
fprintf(stderr, "Error pushing event.\n");
|
||||
|
||||
// flag the memory to be safe to reuse
|
||||
msg->flags |= MESSAGE_FLAGS_HANDLE_DONE;
|
||||
}
|
||||
}
|
||||
|
||||
// either way.... fill a new buffer on the next cycle
|
||||
msg = NULL;
|
||||
|
|
@ -456,6 +485,7 @@ void *input_dev_thread_func(void *ptr) {
|
|||
struct input_ctx ctx = {
|
||||
.dev = NULL,
|
||||
.queue = in_dev->queue,
|
||||
.input_filter_fn = in_dev->input_filter_fn,
|
||||
};
|
||||
|
||||
for (int h = 0; h < MAX_MESSAGES_IN_FLIGHT; ++h) {
|
||||
|
|
|
|||
|
|
@ -1,8 +1,10 @@
|
|||
#pragma once
|
||||
|
||||
#include "queue.h"
|
||||
#include "message.h"
|
||||
|
||||
#define INCLUDE_INPUT_DEBUG
|
||||
#undef IGNORE_INPUT_SCAN
|
||||
|
||||
#define INPUT_DEV_CTRL_FLAG_EXIT 0x00000001U
|
||||
|
||||
|
|
@ -28,8 +30,14 @@ typedef struct input_dev {
|
|||
volatile uint32_t crtl_flags;
|
||||
|
||||
queue_t *queue;
|
||||
|
||||
input_filter_t input_filter_fn;
|
||||
} input_dev_t;
|
||||
|
||||
void *input_dev_thread_func(void *ptr);
|
||||
|
||||
int open_and_hide_input();
|
||||
|
||||
int input_filter_identity(struct input_event* events, size_t* size, uint32_t* count);
|
||||
|
||||
int input_filter_asus_kb(struct input_event*, size_t*, uint32_t*);
|
||||
8
main.c
8
main.c
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
#include "input_dev.h"
|
||||
#include "output_dev.h"
|
||||
#include "platform.h"
|
||||
|
||||
queue_t imu_ev;
|
||||
queue_t gamepad_ev;
|
||||
|
|
@ -27,6 +28,7 @@ static input_dev_t in_iio_dev = {
|
|||
.crtl_flags = 0x00000000U,
|
||||
.iio_filters = &in_iio_filters,
|
||||
.queue = &imu_ev,
|
||||
.input_filter_fn = input_filter_identity,
|
||||
};
|
||||
|
||||
static uinput_filters_t in_asus_kb_1_filters = {
|
||||
|
|
@ -38,6 +40,7 @@ static input_dev_t in_asus_kb_1_dev = {
|
|||
.crtl_flags = 0x00000000U,
|
||||
.ev_filters = &in_asus_kb_1_filters,
|
||||
.queue = &gamepad_ev,
|
||||
.input_filter_fn = input_filter_asus_kb,
|
||||
};
|
||||
|
||||
static uinput_filters_t in_asus_kb_2_filters = {
|
||||
|
|
@ -49,6 +52,7 @@ static input_dev_t in_asus_kb_2_dev = {
|
|||
.crtl_flags = 0x00000000U,
|
||||
.ev_filters = &in_asus_kb_2_filters,
|
||||
.queue = &gamepad_ev,
|
||||
.input_filter_fn = input_filter_asus_kb,
|
||||
};
|
||||
|
||||
static uinput_filters_t in_asus_kb_3_filters = {
|
||||
|
|
@ -60,6 +64,7 @@ static input_dev_t in_asus_kb_3_dev = {
|
|||
.crtl_flags = 0x00000000U,
|
||||
.ev_filters = &in_asus_kb_3_filters,
|
||||
.queue = &gamepad_ev,
|
||||
.input_filter_fn = input_filter_asus_kb,
|
||||
};
|
||||
|
||||
static uinput_filters_t in_xbox_filters = {
|
||||
|
|
@ -71,6 +76,7 @@ static input_dev_t in_xbox_dev = {
|
|||
.crtl_flags = 0x00000000U,
|
||||
.ev_filters = &in_xbox_filters,
|
||||
.queue = &gamepad_ev,
|
||||
.input_filter_fn = input_filter_identity,
|
||||
};
|
||||
|
||||
void request_termination() {
|
||||
|
|
@ -92,6 +98,8 @@ void sig_handler(int signo)
|
|||
}
|
||||
|
||||
int main(int argc, char ** argv) {
|
||||
init_global_mode();
|
||||
|
||||
queue_init(&gamepad_ev, 32);
|
||||
queue_init(&imu_ev, 32);
|
||||
|
||||
|
|
|
|||
|
|
@ -13,3 +13,8 @@ typedef struct message {
|
|||
|
||||
volatile uint32_t flags;
|
||||
} message_t;
|
||||
|
||||
#define INPUT_FILTER_RESULT_OK 0
|
||||
#define INPUT_FILTER_RESULT_DO_NOT_EMIT 1
|
||||
|
||||
typedef int (*input_filter_t)(struct input_event*, size_t*, uint32_t*);
|
||||
64
platform.c
Normal file
64
platform.c
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
#include <asm-generic/errno-base.h>
|
||||
#include <stdlib.h>
|
||||
#define PLATFORM_FILE
|
||||
#include "platform.h"
|
||||
|
||||
static const char* const platform_input_path = "/sys/devices/platform/asus-mcu.0/input/mode";
|
||||
|
||||
static rc71l_platform_t static_platform;
|
||||
|
||||
void init_global_mode() {
|
||||
global_platform = NULL;
|
||||
|
||||
if (access(platform_input_path, F_OK) == 0) {
|
||||
FILE* mode_file = fopen(platform_input_path, "r");
|
||||
if (mode_file == NULL) {
|
||||
fprintf(stderr, "Unable to open the MCU platform mode file %s: modes cannot be switched.\n", platform_input_path);
|
||||
return;
|
||||
}
|
||||
|
||||
char mode_str[12];
|
||||
unsigned long read_bytes = fread((void*)&mode_str[0], 1, sizeof(mode_str), mode_file);
|
||||
if (read_bytes < 1) {
|
||||
fprintf(stderr, "Unable to read the MCU platform mode file %s: no bytes.\n", platform_input_path);
|
||||
fclose(mode_file);
|
||||
}
|
||||
|
||||
static_platform.mode = strtoul(&mode_str[0], NULL, 10);
|
||||
|
||||
fclose(mode_file);
|
||||
|
||||
global_platform = &static_platform;
|
||||
printf("Asus MCU platform found: current mode %lu\n", global_platform->mode);
|
||||
global_platform->modes_count = 3;
|
||||
} else {
|
||||
fprintf(stderr, "Unable to find the MCU platform mode file %s: modes cannot be switched.\n", platform_input_path);
|
||||
}
|
||||
}
|
||||
|
||||
int cycle_mode() {
|
||||
if (global_platform == NULL) {
|
||||
fprintf(stderr, "Asus MCU not registered: aborting.\n");
|
||||
}
|
||||
|
||||
char new_mode_str[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
|
||||
unsigned long new_mode = (global_platform->mode + 1) % global_platform->modes_count;
|
||||
sprintf(new_mode_str, "%lu", new_mode);
|
||||
|
||||
FILE* mode_file = fopen(platform_input_path, "r");
|
||||
if (mode_file == NULL) {
|
||||
fprintf(stderr, "Unable to open the MCU platform mode file %s: modes cannot be switched.\n", platform_input_path);
|
||||
return -1;
|
||||
}
|
||||
|
||||
size_t len = strlen(new_mode_str);
|
||||
const int write_bytes = fwrite((void*)&new_mode_str[0], 1, len, mode_file);
|
||||
if (write_bytes < len) {
|
||||
fprintf(stderr, "Error writing new mode: expected to write %d bytes, %d written.\n", (int)len, (int)write_bytes);
|
||||
return -2;
|
||||
}
|
||||
|
||||
fclose(mode_file);
|
||||
|
||||
return 0;
|
||||
}
|
||||
18
platform.h
Normal file
18
platform.h
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
#pragma once
|
||||
|
||||
#include "rogue_enemy.h"
|
||||
|
||||
typedef struct rc71l_platform {
|
||||
unsigned long mode;
|
||||
unsigned int modes_count;
|
||||
} rc71l_platform_t;
|
||||
|
||||
#ifdef PLATFORM_FILE
|
||||
rc71l_platform_t* global_platform = NULL;
|
||||
#else
|
||||
extern rc71l_platform_t* global_platform;
|
||||
#endif
|
||||
|
||||
void init_global_mode();
|
||||
|
||||
int cycle_mode();
|
||||
Loading…
Add table
Add a link
Reference in a new issue