Moin!
Ich hab Ubuntu auf einem Raspbery Pi CM3-basierensem Gerät namens "Creoqode Lyra" installiert. Dieses Gerät hat über I2C Hardware-Tasten angebunden, unter anderem ein einfaches Steuerkreuz.
Diese Tasten entsprechen weitgehend einem Adafruit JoyBonnet (https://learn.adafruit.com/adafruit-joy-bonnet-for-raspberry-pi/install-and-use). Über deren Software kann ich die Tasten bereits ansprechen und erhalte mit
evtest /dev/input/event5
Meine "Tastenanschläge" sehen:
Event: time 1641659797.303750, type 1 (EV_KEY), code 80 (KEY_KP2), value 1 Event: time 1641659797.303750, -------------- SYN_REPORT ------------ Event: time 1641659797.438111, type 1 (EV_KEY), code 80 (KEY_KP2), value 0 Event: time 1641659797.438111, -------------- SYN_REPORT ------------
Nun möchte ich das Steuerkreuz als Maus-Ersatz nutzen. Die erste Idee die mir kam, ist dass man ja das Keypad auch als Maus-Steuerung nutzen kann, wenn man z.B.
setxkbmap -option keypad:pointerkeys
setzt (vgl. https://linuxreviews.org/HOWTO_use_the_numeric_keyboard_keys_as_mouse_in_XOrg ). Mit meiner USB-Tastatur klappt das auch gut. Also hab ich bei der mal gelauscht und folgendes gesehen:
Event: time 1641659783.825627, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7005a Event: time 1641659783.825627, type 1 (EV_KEY), code 80 (KEY_KP2), value 1 Event: time 1641659783.825627, -------------- SYN_REPORT ------------ Event: time 1641659783.898632, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7005a Event: time 1641659783.898632, type 1 (EV_KEY), code 80 (KEY_KP2), value 0 Event: time 1641659783.898632, -------------- SYN_REPORT ------------
Da dachte ich mir, ich nehme einfach "KEY_KP2" als Aktion für "Steuerkreuz UNTEN" und die Maus sollte sich bewegen. Aber das klappt so leider nicht. Wahrscheinlich, weil da zusätzlich noch type 4 (EV_MSC), code 4 (MSC_SCAN) übertragen werden - aber ich kann nur eine Taste belegen, wenn ich die Konfiguration richtig verstanden habe:
KEYS= { # EDIT KEYCODES IN THIS TABLE TO YOUR PREFERENCES: # See /usr/include/linux/input.h for keycode names # Keyboard Bonnet EmulationStation # BUTTON_A: e.KEY_LEFTCTRL, # 'A' button # BUTTON_B: e.KEY_LEFTALT, # 'B' button BUTTON_A: e.BTN_RIGHT, BUTTON_B: e.BTN_LEFT, BUTTON_X: e.BTN_MIDDLE, # 'X' button BUTTON_Y: e.KEY_ESC, # 'Y' button SELECT: e.KEY_SPACE, # 'Select' button START: e.KEY_ENTER, # 'Start' button PLAYER1: e.KEY_1, # '#1' button PLAYER2: e.KEY_2, # '#2' button # UP: e.KEY_UP, # Up # DOWN: e.KEY_DOWN, # Down # LEFT: e.KEY_LEFT, # Left # RIGHT: e.KEY_RIGHT, # Right #Mouse: UP: e.KEY_KP8, DOWN: e.KEY_KP2, LEFT: e.KEY_KP4, RIGHT: e.KEY_KP6, } Meine Frage daher: Gibt es eine alternative, um die Maus mit Tastatur-Events zu steuern? Oder kann ich die vorhandene Funktion irgendwie ander mappen? Danke im vorraus! Pascal