mirror of
https://github.com/marcriera/ddgo-converter.git
synced 2025-04-11 07:29:28 +02:00
Add D-pad support
This commit is contained in:
parent
fc85bb3ae6
commit
cc8a271883
1 changed files with 37 additions and 2 deletions
|
@ -4,7 +4,7 @@ from evdev import InputDevice, list_devices, ecodes as e, UInput, AbsInfo
|
|||
|
||||
cap = {
|
||||
e.EV_KEY : [e.BTN_NORTH, e.BTN_SOUTH, e.BTN_EAST, e.BTN_WEST, e.BTN_SELECT, e.BTN_START],
|
||||
e.EV_ABS : [(e.ABS_X, AbsInfo(0, 0, 255, 0, 0, 0)),(e.ABS_Y, AbsInfo(0, 0, 255, 0, 0, 0)) ]
|
||||
e.EV_ABS : [(e.ABS_X, AbsInfo(0, 0, 255, 0, 0, 0)), (e.ABS_Y, AbsInfo(0, 0, 255, 0, 0, 0))]
|
||||
}
|
||||
|
||||
# Mapping
|
||||
|
@ -31,6 +31,7 @@ if mascon_switch is None:
|
|||
|
||||
ui = UInput(cap, vendor=0x0AE4, product=0x0003, name='Emulated DGOC-44U')
|
||||
|
||||
mascon_switch.grab()
|
||||
for event in mascon_switch.read_loop():
|
||||
if event.type == e.EV_KEY:
|
||||
match event.code:
|
||||
|
@ -49,9 +50,43 @@ for event in mascon_switch.read_loop():
|
|||
case 312: # MINUS
|
||||
ui.write(e.EV_KEY, e.BTN_SELECT, event.value)
|
||||
ui.syn()
|
||||
case 313: # START
|
||||
case 313: # PLUS
|
||||
ui.write(e.EV_KEY, e.BTN_START, event.value)
|
||||
ui.syn()
|
||||
if event.type == e.EV_ABS and event.code == e.ABS_HAT0X:
|
||||
match event.value:
|
||||
case -1: # LEFT
|
||||
ui.write(e.EV_KEY, e.BTN_SELECT, 1)
|
||||
ui.write(e.EV_KEY, e.BTN_EAST, 1)
|
||||
ui.write(e.EV_KEY, e.BTN_NORTH, 0)
|
||||
ui.syn()
|
||||
case 1: # RIGHT
|
||||
ui.write(e.EV_KEY, e.BTN_SELECT, 1)
|
||||
ui.write(e.EV_KEY, e.BTN_EAST, 0)
|
||||
ui.write(e.EV_KEY, e.BTN_NORTH, 1)
|
||||
ui.syn()
|
||||
case _: # NONE
|
||||
ui.write(e.EV_KEY, e.BTN_SELECT, 0)
|
||||
ui.write(e.EV_KEY, e.BTN_EAST, 0)
|
||||
ui.write(e.EV_KEY, e.BTN_NORTH, 0)
|
||||
ui.syn()
|
||||
if event.type == e.EV_ABS and event.code == e.ABS_HAT0Y:
|
||||
match event.value:
|
||||
case -1: # UP
|
||||
ui.write(e.EV_KEY, e.BTN_SELECT, 1)
|
||||
ui.write(e.EV_KEY, e.BTN_WEST, 1)
|
||||
ui.write(e.EV_KEY, e.BTN_SOUTH, 0)
|
||||
ui.syn()
|
||||
case 1: # DOWN
|
||||
ui.write(e.EV_KEY, e.BTN_SELECT, 1)
|
||||
ui.write(e.EV_KEY, e.BTN_WEST, 0)
|
||||
ui.write(e.EV_KEY, e.BTN_SOUTH, 1)
|
||||
ui.syn()
|
||||
case _: # NONE
|
||||
ui.write(e.EV_KEY, e.BTN_SELECT, 0)
|
||||
ui.write(e.EV_KEY, e.BTN_WEST, 0)
|
||||
ui.write(e.EV_KEY, e.BTN_SOUTH, 0)
|
||||
ui.syn()
|
||||
if event.type == e.EV_ABS and event.code == e.ABS_Y:
|
||||
match event.value:
|
||||
case 0x0: # EMG
|
||||
|
|
Loading…
Add table
Reference in a new issue