sezanzeb / input-remapper

🎮 ⌨ An easy to use tool to change the behaviour of your input devices.
GNU General Public License v3.0
3.84k stars 160 forks source link

Drawing tablet cursor not moving if stylus button mapped #36

Closed CarlosEkisde closed 1 year ago

CarlosEkisde commented 3 years ago

Hi, when trying to apply a profile on a drawing tablet, key-mapper starts to make the tablet behave like a relative device. This should be changed in order to be able to use this software to remap buttons on a drawing tablet and its pencil. Thanks in advance.

sezanzeb commented 3 years ago

the categorization of devices is based on its "capabilities".

I think I'll need to add some extra log output so that I can see the original devices capabilities for comparison. I'll let you know when I have something, I'm debugging other problems at the moment.

sezanzeb commented 3 years ago

That is actually a bug. Ideally the support for anything should come naturally based on how key-mapper works internally. Changing the title.

sezanzeb commented 3 years ago

Which distro are you on? I just pushed more verbose logging for capabilities to the main branch. If you are on ubuntu I can create a .deb file for you that includes that change.

After installing from the latest git source, please run

sudo systemctl stop key-mapper
sudo key-mapper-service -d

open the gui and apply the preset, afterwards post the output as a comment here please

CarlosEkisde commented 3 years ago

I'm on Fedora 33. I'm going to test this on monday and I'll post here the output.

sezanzeb commented 3 years ago

Pushed some more improvements to main that may help. Maybe it just works now

sezanzeb commented 3 years ago

key-mapper probably detects your tablet as a gamepad and therefore translates ABS_X to REL_X to act like a mouse. The debug log output with the original device capabilities will help.

CarlosEkisde commented 3 years ago

Yes, that's what it seems it did. There was an option to change the type of device to other thing but even when changed (I don't remember the options available) the same problem appearead.

CarlosEkisde commented 3 years ago

With latest changes it doesn't work at all when applying a profile. No cursor movement, no buttons detected. The debug command spammed an insane amount of lines so I've uploaded the output here https://paste.centos.org/view/88ce46b6

sezanzeb commented 3 years ago

thanks for trying.

44.2444 SPAM: getdevices.py, line 150, Found "3,10429,2311", "/dev/input/event12", "10 inch PenTablet Mouse" (gamepad)

that shouldn't happen. I'll be able to add some more checks to the gamepad detection to make it stricter based on your log.

48.7620 SPAM: pid 196146, keycode_mapper.py, line 297, ((1, 330, 1), (3, 24, 1)) ----- unknown combination
48.7622 SPAM: pid 196146, keycode_mapper.py, line 432, ((3, 24, 12)) ----------------- forwarding

I can get some rules into main in the evening for not treating pressure and touch events as buttons.

sezanzeb commented 3 years ago

pushed changes to main. please try again

sezanzeb commented 3 years ago

pushed more related changes

CarlosEkisde commented 3 years ago
Loaded config from "/home/Carlos/.config/key-mapper/config.json"
0.06379 INFO: logger.py, line 197, This output is also stored in "/root/.log/key-mapper"
0.06469 INFO: logger.py, line 211, Logging to "/root/.log/key-mapper/log"
0.11005 INFO: logger.py, line 154, key-mapper 0.6.1 
0.11094 INFO: logger.py, line 157, python-evdev 1.1.2
0.11125 WARNING: logger.py, line 163, Debug level will log all your keystrokes! Do not post this output in the internet if you typed in sensitive or private information with your device!
0.11163 DEBUG: logger.py, line 169, pid 280329
0.11500 DEBUG: daemon.py, line 214, Creating daemon
22.5954 INFO: config.py, line 248, Loaded config from "/home/Carlos/.config/key-mapper/config.json"
22.5977 DEBUG: daemon.py, line 225, Refreshing because last info is too old
22.7027 DEBUG: getdevices.py, line 116, Discovering device paths
22.7199 SPAM: getdevices.py, line 155, Found "3,10429,2311", "/dev/input/event14", "10 inch PenTablet" 
22.7240 SPAM: getdevices.py, line 155, Found "3,10429,2311", "/dev/input/event13", "10 inch PenTablet Keyboard" 
22.7298 SPAM: getdevices.py, line 155, Found "3,10429,2311", "/dev/input/event12", "10 inch PenTablet Mouse" 
22.7359 SPAM: getdevices.py, line 155, Found "3,16700,8455", "/dev/input/event2", "DELL Dell USB Entry Keyboard" 
22.8289 SPAM: getdevices.py, line 155, Found "3,1149,8257", "/dev/input/event3", "Kensington Slimblade Trackball" 
22.8412 INFO: getdevices.py, line 214, Found "10 inch PenTablet", "DELL Dell USB Entry Keyboard", "Kensington Slimblade Trackball"
22.8428 INFO: mapping.py, line 164, Loading preset from "/home/Carlos/.config/key-mapper/presets/10 inch PenTablet/new preset.json"
22.8437 SPAM: mapping.py, line 197, Key((1, 78, 1),) maps to a
22.8441 SPAM: mapping.py, line 197, Key((1, 44, 1),) maps to b
22.8445 SPAM: mapping.py, line 197, Key((1, 48, 1),) maps to c
22.8450 SPAM: mapping.py, line 197, Key((1, 18, 1),) maps to d
22.8454 SPAM: mapping.py, line 197, Key((1, 74, 1),) maps to e
22.8458 SPAM: mapping.py, line 197, Key((1, 31, 1),) maps to f
22.8462 SPAM: mapping.py, line 197, Key((1, 21, 1),) maps to g
22.8477 DEBUG: daemon.py, line 437, Using keycodes from "/home/Carlos/.config/key-mapper/xmodmap.json"
22.8487 DEBUG: context.py, line 81, Parsing macros
22.8491 DEBUG: context.py, line 93, No macros configured
22.8598 INFO: pid 280376, injector.py, line 307, Starting injecting the mapping for "10 inch PenTablet"
22.9379 DEBUG: pid 280376, injector.py, line 170, No need to grab /dev/input/event14
22.9441 DEBUG: pid 280376, injector.py, line 181, Grab /dev/input/event13
22.9447 SPAM: pid 280376, injector.py, line 329, Original capabilities for "/dev/input/event13": {('EV_SYN', 0): [('SYN_REPORT', 0), ('SYN_CONFIG', 1), ('?', 4), ('?', 20)], ('EV_KEY', 1): [('KEY_ESC', 1), ('KEY_1', 2), ('KEY_2', 3), ('KEY_3', 4), ('KEY_4', 5), ('KEY_5', 6), ('KEY_6', 7), ('KEY_7', 8), ('KEY_8', 9), ('KEY_9', 10), ('KEY_0', 11), ('KEY_MINUS', 12), ('KEY_EQUAL', 13), ('KEY_BACKSPACE', 14), ('KEY_TAB', 15), ('KEY_Q', 16), ('KEY_W', 17), ('KEY_E', 18), ('KEY_R', 19), ('KEY_T', 20), ('KEY_Y', 21), ('KEY_U', 22), ('KEY_I', 23), ('KEY_O', 24), ('KEY_P', 25), ('KEY_LEFTBRACE', 26), ('KEY_RIGHTBRACE', 27), ('KEY_ENTER', 28), ('KEY_LEFTCTRL', 29), ('KEY_A', 30), ('KEY_S', 31), ('KEY_D', 32), ('KEY_F', 33), ('KEY_G', 34), ('KEY_H', 35), ('KEY_J', 36), ('KEY_K', 37), ('KEY_L', 38), ('KEY_SEMICOLON', 39), ('KEY_APOSTROPHE', 40), ('KEY_GRAVE', 41), ('KEY_LEFTSHIFT', 42), ('KEY_BACKSLASH', 43), ('KEY_Z', 44), ('KEY_X', 45), ('KEY_C', 46), ('KEY_V', 47), ('KEY_B', 48), ('KEY_N', 49), ('KEY_M', 50), ('KEY_COMMA', 51), ('KEY_DOT', 52), ('KEY_SLASH', 53), ('KEY_RIGHTSHIFT', 54), ('KEY_KPASTERISK', 55), ('KEY_LEFTALT', 56), ('KEY_SPACE', 57), ('KEY_CAPSLOCK', 58), ('KEY_F1', 59), ('KEY_F2', 60), ('KEY_F3', 61), ('KEY_F4', 62), ('KEY_F5', 63), ('KEY_F6', 64), ('KEY_F7', 65), ('KEY_F8', 66), ('KEY_F9', 67), ('KEY_F10', 68), ('KEY_NUMLOCK', 69), ('KEY_SCROLLLOCK', 70), ('KEY_KP7', 71), ('KEY_KP8', 72), ('KEY_KP9', 73), ('KEY_KPMINUS', 74), ('KEY_KP4', 75), ('KEY_KP5', 76), ('KEY_KP6', 77), ('KEY_KPPLUS', 78), ('KEY_KP1', 79), ('KEY_KP2', 80), ('KEY_KP3', 81), ('KEY_KP0', 82), ('KEY_KPDOT', 83), ('KEY_ZENKAKUHANKAKU', 85), ('KEY_102ND', 86), ('KEY_F11', 87), ('KEY_F12', 88), ('KEY_RO', 89), ('KEY_KATAKANA', 90), ('KEY_HIRAGANA', 91), ('KEY_HENKAN', 92), ('KEY_KATAKANAHIRAGANA', 93), ('KEY_MUHENKAN', 94), ('KEY_KPJPCOMMA', 95), ('KEY_KPENTER', 96), ('KEY_RIGHTCTRL', 97), ('KEY_KPSLASH', 98), ('KEY_SYSRQ', 99), ('KEY_RIGHTALT', 100), ('KEY_HOME', 102), ('KEY_UP', 103), ('KEY_PAGEUP', 104), ('KEY_LEFT', 105), ('KEY_RIGHT', 106), ('KEY_END', 107), ('KEY_DOWN', 108), ('KEY_PAGEDOWN', 109), ('KEY_INSERT', 110), ('KEY_DELETE', 111), (['KEY_MIN_INTERESTING', 'KEY_MUTE'], 113), ('KEY_VOLUMEDOWN', 114), ('KEY_VOLUMEUP', 115), ('KEY_POWER', 116), ('KEY_KPEQUAL', 117), ('KEY_PAUSE', 119), ('KEY_KPCOMMA', 121), (['KEY_HANGEUL', 'KEY_HANGUEL'], 122), ('KEY_HANJA', 123), ('KEY_YEN', 124), ('KEY_LEFTMETA', 125), ('KEY_RIGHTMETA', 126), ('KEY_COMPOSE', 127), ('KEY_STOP', 128), ('KEY_AGAIN', 129), ('KEY_PROPS', 130), ('KEY_UNDO', 131), ('KEY_FRONT', 132), ('KEY_COPY', 133), ('KEY_OPEN', 134), ('KEY_PASTE', 135), ('KEY_FIND', 136), ('KEY_CUT', 137), ('KEY_HELP', 138), ('KEY_CALC', 140), ('KEY_SLEEP', 142), ('KEY_WWW', 150), (['KEY_COFFEE', 'KEY_SCREENLOCK'], 152), ('KEY_BACK', 158), ('KEY_FORWARD', 159), ('KEY_EJECTCD', 161), ('KEY_NEXTSONG', 163), ('KEY_PLAYPAUSE', 164), ('KEY_PREVIOUSSONG', 165), ('KEY_STOPCD', 166), ('KEY_REFRESH', 173), ('KEY_EDIT', 176), ('KEY_SCROLLUP', 177), ('KEY_SCROLLDOWN', 178), ('KEY_KPLEFTPAREN', 179), ('KEY_KPRIGHTPAREN', 180), ('KEY_F13', 183), ('KEY_F14', 184), ('KEY_F15', 185), ('KEY_F16', 186), ('KEY_F17', 187), ('KEY_F18', 188), ('KEY_F19', 189), ('KEY_F20', 190), ('KEY_F21', 191), ('KEY_F22', 192), ('KEY_F23', 193), ('KEY_F24', 194), ('KEY_UNKNOWN', 240)], ('EV_MSC', 4): [('MSC_SCAN', 4)]}
23.0521 SPAM: pid 280376, injector.py, line 344, Injected capabilities for "/dev/input/event13": {('EV_SYN', 0): [('SYN_REPORT', 0), ('SYN_CONFIG', 1), ('?', 4), ('?', 21)], ('EV_KEY', 1): [('KEY_ESC', 1), ('KEY_1', 2), ('KEY_2', 3), ('KEY_3', 4), ('KEY_4', 5), ('KEY_5', 6), ('KEY_6', 7), ('KEY_7', 8), ('KEY_8', 9), ('KEY_9', 10), ('KEY_0', 11), ('KEY_MINUS', 12), ('KEY_EQUAL', 13), ('KEY_BACKSPACE', 14), ('KEY_TAB', 15), ('KEY_Q', 16), ('KEY_W', 17), ('KEY_E', 18), ('KEY_R', 19), ('KEY_T', 20), ('KEY_Y', 21), ('KEY_U', 22), ('KEY_I', 23), ('KEY_O', 24), ('KEY_P', 25), ('KEY_LEFTBRACE', 26), ('KEY_RIGHTBRACE', 27), ('KEY_ENTER', 28), ('KEY_LEFTCTRL', 29), ('KEY_A', 30), ('KEY_S', 31), ('KEY_D', 32), ('KEY_F', 33), ('KEY_G', 34), ('KEY_H', 35), ('KEY_J', 36), ('KEY_K', 37), ('KEY_L', 38), ('KEY_SEMICOLON', 39), ('KEY_APOSTROPHE', 40), ('KEY_GRAVE', 41), ('KEY_LEFTSHIFT', 42), ('KEY_BACKSLASH', 43), ('KEY_Z', 44), ('KEY_X', 45), ('KEY_C', 46), ('KEY_V', 47), ('KEY_B', 48), ('KEY_N', 49), ('KEY_M', 50), ('KEY_COMMA', 51), ('KEY_DOT', 52), ('KEY_SLASH', 53), ('KEY_RIGHTSHIFT', 54), ('KEY_KPASTERISK', 55), ('KEY_LEFTALT', 56), ('KEY_SPACE', 57), ('KEY_CAPSLOCK', 58), ('KEY_F1', 59), ('KEY_F2', 60), ('KEY_F3', 61), ('KEY_F4', 62), ('KEY_F5', 63), ('KEY_F6', 64), ('KEY_F7', 65), ('KEY_F8', 66), ('KEY_F9', 67), ('KEY_F10', 68), ('KEY_NUMLOCK', 69), ('KEY_SCROLLLOCK', 70), ('KEY_KP7', 71), ('KEY_KP8', 72), ('KEY_KP9', 73), ('KEY_KPMINUS', 74), ('KEY_KP4', 75), ('KEY_KP5', 76), ('KEY_KP6', 77), ('KEY_KPPLUS', 78), ('KEY_KP1', 79), ('KEY_KP2', 80), ('KEY_KP3', 81), ('KEY_KP0', 82), ('KEY_KPDOT', 83), ('KEY_ZENKAKUHANKAKU', 85), ('KEY_102ND', 86), ('KEY_F11', 87), ('KEY_F12', 88), ('KEY_RO', 89), ('KEY_KATAKANA', 90), ('KEY_HIRAGANA', 91), ('KEY_HENKAN', 92), ('KEY_KATAKANAHIRAGANA', 93), ('KEY_MUHENKAN', 94), ('KEY_KPJPCOMMA', 95), ('KEY_KPENTER', 96), ('KEY_RIGHTCTRL', 97), ('KEY_KPSLASH', 98), ('KEY_SYSRQ', 99), ('KEY_RIGHTALT', 100), ('KEY_HOME', 102), ('KEY_UP', 103), ('KEY_PAGEUP', 104), ('KEY_LEFT', 105), ('KEY_RIGHT', 106), ('KEY_END', 107), ('KEY_DOWN', 108), ('KEY_PAGEDOWN', 109), ('KEY_INSERT', 110), ('KEY_DELETE', 111), (['KEY_MIN_INTERESTING', 'KEY_MUTE'], 113), ('KEY_VOLUMEDOWN', 114), ('KEY_VOLUMEUP', 115), ('KEY_POWER', 116), ('KEY_KPEQUAL', 117), ('KEY_PAUSE', 119), ('KEY_KPCOMMA', 121), (['KEY_HANGEUL', 'KEY_HANGUEL'], 122), ('KEY_HANJA', 123), ('KEY_YEN', 124), ('KEY_LEFTMETA', 125), ('KEY_RIGHTMETA', 126), ('KEY_COMPOSE', 127), ('KEY_STOP', 128), ('KEY_AGAIN', 129), ('KEY_PROPS', 130), ('KEY_UNDO', 131), ('KEY_FRONT', 132), ('KEY_COPY', 133), ('KEY_OPEN', 134), ('KEY_PASTE', 135), ('KEY_FIND', 136), ('KEY_CUT', 137), ('KEY_HELP', 138), ('KEY_CALC', 140), ('KEY_SLEEP', 142), ('KEY_WWW', 150), (['KEY_COFFEE', 'KEY_SCREENLOCK'], 152), ('KEY_BACK', 158), ('KEY_FORWARD', 159), ('KEY_EJECTCD', 161), ('KEY_NEXTSONG', 163), ('KEY_PLAYPAUSE', 164), ('KEY_PREVIOUSSONG', 165), ('KEY_STOPCD', 166), ('KEY_REFRESH', 173), ('KEY_EDIT', 176), ('KEY_SCROLLUP', 177), ('KEY_SCROLLDOWN', 178), ('KEY_KPLEFTPAREN', 179), ('KEY_KPRIGHTPAREN', 180), ('KEY_F13', 183), ('KEY_F14', 184), ('KEY_F15', 185), ('KEY_F16', 186), ('KEY_F17', 187), ('KEY_F18', 188), ('KEY_F19', 189), ('KEY_F20', 190), ('KEY_F21', 191), ('KEY_F22', 192), ('KEY_F23', 193), ('KEY_F24', 194), ('KEY_UNKNOWN', 240)], ('EV_MSC', 4): [('MSC_SCAN', 4)]}
23.0528 DEBUG: pid 280376, injector.py, line 170, No need to grab /dev/input/event12
23.0617 DEBUG: pid 280376, numlock.py, line 73, numlockx not found
23.0629 DEBUG: pid 280376, injector.py, line 404, Started consumer to inject to /dev/input/event13, fd 20
53.1589 SPAM: pid 280376, keycode_mapper.py, line 432, ((1, 29, 1)) ------------------ forwarding
53.1594 SPAM: pid 280376, keycode_mapper.py, line 297, ((1, 29, 1), (1, 78, 1)) ------ unknown combination
53.1596 SPAM: pid 280376, keycode_mapper.py, line 427, ((1, 78, 1)) ------------------ maps to 30
53.2946 SPAM: pid 280376, keycode_mapper.py, line 364, ((1, 29, 0)) ------------------ forwarding release
53.2950 SPAM: pid 280376, keycode_mapper.py, line 360, ((1, 78, 0)) ------------------ releasing 30
54.3305 SPAM: pid 280376, keycode_mapper.py, line 432, ((1, 29, 1)) ------------------ forwarding
54.3310 SPAM: pid 280376, keycode_mapper.py, line 297, ((1, 29, 1), (1, 74, 1)) ------ unknown combination
54.3312 SPAM: pid 280376, keycode_mapper.py, line 427, ((1, 74, 1)) ------------------ maps to 18
54.4706 SPAM: pid 280376, keycode_mapper.py, line 364, ((1, 29, 0)) ------------------ forwarding release
54.4710 SPAM: pid 280376, keycode_mapper.py, line 360, ((1, 74, 0)) ------------------ releasing 18
55.2786 SPAM: pid 280376, keycode_mapper.py, line 427, ((1, 48, 1)) ------------------ maps to 46
55.4385 SPAM: pid 280376, keycode_mapper.py, line 360, ((1, 48, 0)) ------------------ releasing 46
56.7985 SPAM: pid 280376, keycode_mapper.py, line 427, ((1, 18, 1)) ------------------ maps to 32
56.9785 SPAM: pid 280376, keycode_mapper.py, line 360, ((1, 18, 0)) ------------------ releasing 32
58.2385 SPAM: pid 280376, keycode_mapper.py, line 432, ((1, 29, 1)) ------------------ forwarding
58.2389 SPAM: pid 280376, keycode_mapper.py, line 297, ((1, 29, 1), (1, 56, 1)) ------ unknown combination
58.2391 SPAM: pid 280376, keycode_mapper.py, line 432, ((1, 56, 1)) ------------------ forwarding
58.2395 SPAM: pid 280376, keycode_mapper.py, line 297, ((1, 29, 1), (1, 56, 1), (1, 44, 1)) unknown combination
58.2397 SPAM: pid 280376, keycode_mapper.py, line 427, ((1, 44, 1)) ------------------ maps to 48
58.4224 SPAM: pid 280376, keycode_mapper.py, line 364, ((1, 29, 0)) ------------------ forwarding release
58.4228 SPAM: pid 280376, keycode_mapper.py, line 364, ((1, 56, 0)) ------------------ forwarding release
58.4232 SPAM: pid 280376, keycode_mapper.py, line 360, ((1, 44, 0)) ------------------ releasing 48
59.0946 SPAM: pid 280376, keycode_mapper.py, line 432, ((1, 29, 1)) ------------------ forwarding
59.0952 SPAM: pid 280376, keycode_mapper.py, line 297, ((1, 29, 1), (1, 31, 1)) ------ unknown combination
59.0955 SPAM: pid 280376, keycode_mapper.py, line 427, ((1, 31, 1)) ------------------ maps to 33
59.2425 SPAM: pid 280376, keycode_mapper.py, line 364, ((1, 29, 0)) ------------------ forwarding release
59.2431 SPAM: pid 280376, keycode_mapper.py, line 360, ((1, 31, 0)) ------------------ releasing 33
59.9505 SPAM: pid 280376, keycode_mapper.py, line 432, ((1, 29, 1)) ------------------ forwarding
59.9513 SPAM: pid 280376, keycode_mapper.py, line 297, ((1, 29, 1), (1, 44, 1)) ------ unknown combination
59.9516 SPAM: pid 280376, keycode_mapper.py, line 427, ((1, 44, 1)) ------------------ maps to 48
60.0986 SPAM: pid 280376, keycode_mapper.py, line 364, ((1, 29, 0)) ------------------ forwarding release
60.0991 SPAM: pid 280376, keycode_mapper.py, line 360, ((1, 44, 0)) ------------------ releasing 48
60.9626 SPAM: pid 280376, keycode_mapper.py, line 432, ((1, 29, 1)) ------------------ forwarding
60.9631 SPAM: pid 280376, keycode_mapper.py, line 297, ((1, 29, 1), (1, 21, 1)) ------ unknown combination
60.9634 SPAM: pid 280376, keycode_mapper.py, line 427, ((1, 21, 1)) ------------------ maps to 34
61.0825 SPAM: pid 280376, keycode_mapper.py, line 364, ((1, 29, 0)) ------------------ forwarding release
61.0829 SPAM: pid 280376, keycode_mapper.py, line 360, ((1, 21, 0)) ------------------ releasing 34
sezanzeb commented 3 years ago

still not working? Does the cursor move? Log looks fine

since "10 inch PenTablet Mouse" is not being grabbed anymore due to nothing being mapped for that device the cursor should work. It is also not mistaken for a gamepad anymore.

And it looks like it manages to write an A when clicking the plus on your keypad

CarlosEkisde commented 3 years ago

Situation seems to be improved but there are now some new problems.

sezanzeb commented 3 years ago

For the first problem I would like to see the output of sudo evtest when using one of those combination keys. They are probably happening so close to each other that the first keys are being ignored.

I added that ignoring mechanism to solve a different problem, but there are other ways to solve that one luckily. It was about ABS_MISC events getting spammed very close to the actual event that should be mapped, I could just ignore ABS_MISC for good as well.

I'll investigate the second problem in the evening. Ideally ABS_X and ABS_Y should be ignored completely for non-gamepads.

CarlosEkisde commented 3 years ago
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x28bd product 0x907 version 0x100
Input device name: "10 inch PenTablet Keyboard"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 1 (KEY_ESC)
    Event code 2 (KEY_1)
    Event code 3 (KEY_2)
    Event code 4 (KEY_3)
    Event code 5 (KEY_4)
    Event code 6 (KEY_5)
    Event code 7 (KEY_6)
    Event code 8 (KEY_7)
    Event code 9 (KEY_8)
    Event code 10 (KEY_9)
    Event code 11 (KEY_0)
    Event code 12 (KEY_MINUS)
    Event code 13 (KEY_EQUAL)
    Event code 14 (KEY_BACKSPACE)
    Event code 15 (KEY_TAB)
    Event code 16 (KEY_Q)
    Event code 17 (KEY_W)
    Event code 18 (KEY_E)
    Event code 19 (KEY_R)
    Event code 20 (KEY_T)
    Event code 21 (KEY_Y)
    Event code 22 (KEY_U)
    Event code 23 (KEY_I)
    Event code 24 (KEY_O)
    Event code 25 (KEY_P)
    Event code 26 (KEY_LEFTBRACE)
    Event code 27 (KEY_RIGHTBRACE)
    Event code 28 (KEY_ENTER)
    Event code 29 (KEY_LEFTCTRL)
    Event code 30 (KEY_A)
    Event code 31 (KEY_S)
    Event code 32 (KEY_D)
    Event code 33 (KEY_F)
    Event code 34 (KEY_G)
    Event code 35 (KEY_H)
    Event code 36 (KEY_J)
    Event code 37 (KEY_K)
    Event code 38 (KEY_L)
    Event code 39 (KEY_SEMICOLON)
    Event code 40 (KEY_APOSTROPHE)
    Event code 41 (KEY_GRAVE)
    Event code 42 (KEY_LEFTSHIFT)
    Event code 43 (KEY_BACKSLASH)
    Event code 44 (KEY_Z)
    Event code 45 (KEY_X)
    Event code 46 (KEY_C)
    Event code 47 (KEY_V)
    Event code 48 (KEY_B)
    Event code 49 (KEY_N)
    Event code 50 (KEY_M)
    Event code 51 (KEY_COMMA)
    Event code 52 (KEY_DOT)
    Event code 53 (KEY_SLASH)
    Event code 54 (KEY_RIGHTSHIFT)
    Event code 55 (KEY_KPASTERISK)
    Event code 56 (KEY_LEFTALT)
    Event code 57 (KEY_SPACE)
    Event code 58 (KEY_CAPSLOCK)
    Event code 59 (KEY_F1)
    Event code 60 (KEY_F2)
    Event code 61 (KEY_F3)
    Event code 62 (KEY_F4)
    Event code 63 (KEY_F5)
    Event code 64 (KEY_F6)
    Event code 65 (KEY_F7)
    Event code 66 (KEY_F8)
    Event code 67 (KEY_F9)
    Event code 68 (KEY_F10)
    Event code 69 (KEY_NUMLOCK)
    Event code 70 (KEY_SCROLLLOCK)
    Event code 71 (KEY_KP7)
    Event code 72 (KEY_KP8)
    Event code 73 (KEY_KP9)
    Event code 74 (KEY_KPMINUS)
    Event code 75 (KEY_KP4)
    Event code 76 (KEY_KP5)
    Event code 77 (KEY_KP6)
    Event code 78 (KEY_KPPLUS)
    Event code 79 (KEY_KP1)
    Event code 80 (KEY_KP2)
    Event code 81 (KEY_KP3)
    Event code 82 (KEY_KP0)
    Event code 83 (KEY_KPDOT)
    Event code 85 (KEY_ZENKAKUHANKAKU)
    Event code 86 (KEY_102ND)
    Event code 87 (KEY_F11)
    Event code 88 (KEY_F12)
    Event code 89 (KEY_RO)
    Event code 90 (KEY_KATAKANA)
    Event code 91 (KEY_HIRAGANA)
    Event code 92 (KEY_HENKAN)
    Event code 93 (KEY_KATAKANAHIRAGANA)
    Event code 94 (KEY_MUHENKAN)
    Event code 95 (KEY_KPJPCOMMA)
    Event code 96 (KEY_KPENTER)
    Event code 97 (KEY_RIGHTCTRL)
    Event code 98 (KEY_KPSLASH)
    Event code 99 (KEY_SYSRQ)
    Event code 100 (KEY_RIGHTALT)
    Event code 102 (KEY_HOME)
    Event code 103 (KEY_UP)
    Event code 104 (KEY_PAGEUP)
    Event code 105 (KEY_LEFT)
    Event code 106 (KEY_RIGHT)
    Event code 107 (KEY_END)
    Event code 108 (KEY_DOWN)
    Event code 109 (KEY_PAGEDOWN)
    Event code 110 (KEY_INSERT)
    Event code 111 (KEY_DELETE)
    Event code 113 (KEY_MUTE)
    Event code 114 (KEY_VOLUMEDOWN)
    Event code 115 (KEY_VOLUMEUP)
    Event code 116 (KEY_POWER)
    Event code 117 (KEY_KPEQUAL)
    Event code 119 (KEY_PAUSE)
    Event code 121 (KEY_KPCOMMA)
    Event code 122 (KEY_HANGUEL)
    Event code 123 (KEY_HANJA)
    Event code 124 (KEY_YEN)
    Event code 125 (KEY_LEFTMETA)
    Event code 126 (KEY_RIGHTMETA)
    Event code 127 (KEY_COMPOSE)
    Event code 128 (KEY_STOP)
    Event code 129 (KEY_AGAIN)
    Event code 130 (KEY_PROPS)
    Event code 131 (KEY_UNDO)
    Event code 132 (KEY_FRONT)
    Event code 133 (KEY_COPY)
    Event code 134 (KEY_OPEN)
    Event code 135 (KEY_PASTE)
    Event code 136 (KEY_FIND)
    Event code 137 (KEY_CUT)
    Event code 138 (KEY_HELP)
    Event code 140 (KEY_CALC)
    Event code 142 (KEY_SLEEP)
    Event code 150 (KEY_WWW)
    Event code 152 (KEY_SCREENLOCK)
    Event code 158 (KEY_BACK)
    Event code 159 (KEY_FORWARD)
    Event code 161 (KEY_EJECTCD)
    Event code 163 (KEY_NEXTSONG)
    Event code 164 (KEY_PLAYPAUSE)
    Event code 165 (KEY_PREVIOUSSONG)
    Event code 166 (KEY_STOPCD)
    Event code 173 (KEY_REFRESH)
    Event code 176 (KEY_EDIT)
    Event code 177 (KEY_SCROLLUP)
    Event code 178 (KEY_SCROLLDOWN)
    Event code 179 (KEY_KPLEFTPAREN)
    Event code 180 (KEY_KPRIGHTPAREN)
    Event code 183 (KEY_F13)
    Event code 184 (KEY_F14)
    Event code 185 (KEY_F15)
    Event code 186 (KEY_F16)
    Event code 187 (KEY_F17)
    Event code 188 (KEY_F18)
    Event code 189 (KEY_F19)
    Event code 190 (KEY_F20)
    Event code 191 (KEY_F21)
    Event code 192 (KEY_F22)
    Event code 193 (KEY_F23)
    Event code 194 (KEY_F24)
    Event code 240 (KEY_UNKNOWN)
  Event type 4 (EV_MSC)
    Event code 4 (MSC_SCAN)
Key repeat handling:
  Repeat type 20 (EV_REP)
    Repeat code 0 (REP_DELAY)
      Value    250
    Repeat code 1 (REP_PERIOD)
      Value     33
Properties:
Testing ... (interrupt to exit)
Event: time 1613475237.005777, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e0
Event: time 1613475237.005777, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 1
Event: time 1613475237.005777, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70057
Event: time 1613475237.005777, type 1 (EV_KEY), code 78 (KEY_KPPLUS), value 1
Event: time 1613475237.005777, -------------- SYN_REPORT ------------
Event: time 1613475237.181684, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e0
Event: time 1613475237.181684, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 0
Event: time 1613475237.181684, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70057
Event: time 1613475237.181684, type 1 (EV_KEY), code 78 (KEY_KPPLUS), value 0
Event: time 1613475237.181684, -------------- SYN_REPORT ------------
Event: time 1613475238.169682, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e0
Event: time 1613475238.169682, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 1
Event: time 1613475238.169682, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70056
Event: time 1613475238.169682, type 1 (EV_KEY), code 74 (KEY_KPMINUS), value 1
Event: time 1613475238.169682, -------------- SYN_REPORT ------------
Event: time 1613475238.349725, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e0
Event: time 1613475238.349725, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 0
Event: time 1613475238.349725, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70056
Event: time 1613475238.349725, type 1 (EV_KEY), code 74 (KEY_KPMINUS), value 0
Event: time 1613475238.349725, -------------- SYN_REPORT ------------
Event: time 1613475239.257721, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70005
Event: time 1613475239.257721, type 1 (EV_KEY), code 48 (KEY_B), value 1
Event: time 1613475239.257721, -------------- SYN_REPORT ------------
bEvent: time 1613475239.413699, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70005
Event: time 1613475239.413699, type 1 (EV_KEY), code 48 (KEY_B), value 0
Event: time 1613475239.413699, -------------- SYN_REPORT ------------
Event: time 1613475240.357648, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70008
Event: time 1613475240.357648, type 1 (EV_KEY), code 18 (KEY_E), value 1
Event: time 1613475240.357648, -------------- SYN_REPORT ------------
eEvent: time 1613475240.509644, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70008
Event: time 1613475240.509644, type 1 (EV_KEY), code 18 (KEY_E), value 0
Event: time 1613475240.509644, -------------- SYN_REPORT ------------
Event: time 1613475242.637675, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e0
Event: time 1613475242.637675, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 1
Event: time 1613475242.637675, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7001c
Event: time 1613475242.637675, type 1 (EV_KEY), code 21 (KEY_Y), value 1
Event: time 1613475242.637675, -------------- SYN_REPORT ------------
^YEvent: time 1613475242.797698, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e0
Event: time 1613475242.797698, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 0
Event: time 1613475242.797698, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7001c
Event: time 1613475242.797698, type 1 (EV_KEY), code 21 (KEY_Y), value 0
Event: time 1613475242.797698, -------------- SYN_REPORT ------------
Event: time 1613475243.693637, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e0
Event: time 1613475243.693637, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 1
Event: time 1613475243.693637, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70016
Event: time 1613475243.693637, type 1 (EV_KEY), code 31 (KEY_S), value 1
Event: time 1613475243.693637, -------------- SYN_REPORT ------------
^CEvent: time 1613475243.869652, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e0
Event: time 1613475243.869652, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 0
Event: time 1613475243.869652, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70016
Event: time 1613475243.869652, type 1 (EV_KEY), code 31 (KEY_S), value 0
Event: time 1613475243.869652, -------------- SYN_REPORT ------------
Event: time 1613475278.805180, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e0
Event: time 1613475278.805180, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 1
Event: time 1613475278.805180, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e2
Event: time 1613475278.805180, type 1 (EV_KEY), code 56 (KEY_LEFTALT), value 1
Event: time 1613475278.805180, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7001d
Event: time 1613475278.805180, type 1 (EV_KEY), code 44 (KEY_Z), value 1
Event: time 1613475278.805180, -------------- SYN_REPORT ------------
Event: time 1613475294.872940, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e0
Event: time 1613475294.872940, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 1
Event: time 1613475294.872940, type 4 (EV_MSC), code 4 (MSC_SCAN), value 7001d
Event: time 1613475294.872940, type 1 (EV_KEY), code 44 (KEY_Z), value 1
Event: time 1613475294.872940, -------------- SYN_REPORT ------------

Last two reports are copy pastes from another evtest instance because Ctrl+Z suspends the process :P

sezanzeb commented 3 years ago

pushed a potential fix for the ABS_X problem. Thanks again for sharing logs

About the combinations: I think if key-mapper detected those as input combinations when editing it wouldn't make any difference. During injection if key a, b and c are pressed, the last key c will end up triggering the combination and the mapping. a and b are forwarded unless they are disabled (using "disable"). Now if key-mapper only detects the last key during editing, it will end up working the same way during injection.

CarlosEkisde commented 3 years ago

Now key-mapper ignores ABS_X but cursor doesn't move when applying the profile, in addition the stylus button doesn't work either even if it's properly detected on the UI when no profile is applied. Plus, the cursor doesn't move when the profile is applied, just as before.

I also thought that key mapping should work even if only the last element of a key combo is detected, but the fact is that the combo buttons don't work, unlike the other two buttons :P In addition, one of the combo buttons is Ctrl+Z when other of the buttons of my tablet is Ctrl+Alt+Z. So both are recognized as the same button and key-mapper refuses to do the mapping :P

CarlosEkisde commented 3 years ago
0.07275 INFO: logger.py, line 215, Logging to "/root/.log/key-mapper/log"
0.13209 INFO: logger.py, line 155, key-mapper 0.6.1 5af4ba953224ad197b49e05bb778ccddad9d6214 https://github.com/sezanzeb/key-mapper
0.13273 INFO: logger.py, line 161, python-evdev 1.1.2
0.13286 WARNING: logger.py, line 167, Debug level will log all your keystrokes! Do not post this output in the internet if you typed in sensitive or private information with your device!
0.13306 DEBUG: logger.py, line 173, pid 357775
0.13634 DEBUG: daemon.py, line 214, Creating daemon
21.3203 INFO: config.py, line 246, Loaded config from "/home/Carlos/.config/key-mapper/config.json"
21.3222 DEBUG: daemon.py, line 225, Refreshing because last info is too old
21.4274 DEBUG: getdevices.py, line 115, Discovering device paths
21.4393 SPAM: getdevices.py, line 154, Found "3,10429,2311", "/dev/input/event14", "10 inch PenTablet" 
21.4444 SPAM: getdevices.py, line 154, Found "3,10429,2311", "/dev/input/event13", "10 inch PenTablet Keyboard" 
21.4480 SPAM: getdevices.py, line 154, Found "3,10429,2311", "/dev/input/event12", "10 inch PenTablet Mouse" 
21.4541 SPAM: getdevices.py, line 154, Found "3,16700,8455", "/dev/input/event2", "DELL Dell USB Entry Keyboard" 
21.5351 SPAM: getdevices.py, line 154, Found "3,1149,8257", "/dev/input/event3", "Kensington Slimblade Trackball" 
21.5463 INFO: getdevices.py, line 213, Found "10 inch PenTablet", "DELL Dell USB Entry Keyboard", "Kensington Slimblade Trackball"
21.5466 INFO: mapping.py, line 164, Loading preset from "/home/Carlos/.config/key-mapper/presets/10 inch PenTablet/new preset.json"
21.5469 SPAM: mapping.py, line 197, Key((1, 78, 1),) maps to a
21.5471 SPAM: mapping.py, line 197, Key((1, 74, 1),) maps to b
21.5473 SPAM: mapping.py, line 197, Key((1, 48, 1),) maps to c
21.5474 SPAM: mapping.py, line 197, Key((1, 18, 1),) maps to d
21.5475 SPAM: mapping.py, line 197, Key((1, 44, 1),) maps to f
21.5476 SPAM: mapping.py, line 197, Key((1, 31, 1),) maps to g
21.5478 SPAM: mapping.py, line 197, Key((1, 21, 1),) maps to h
21.5480 SPAM: mapping.py, line 197, Key((1, 331, 1),) maps to j
21.5484 DEBUG: daemon.py, line 437, Using keycodes from "/home/Carlos/.config/key-mapper/xmodmap.json"
21.5487 DEBUG: context.py, line 85, Parsing macros
21.5488 DEBUG: context.py, line 97, No macros configured
21.5538 INFO: pid 357880, injector.py, line 307, Starting injecting the mapping for "10 inch PenTablet"
21.5726 DEBUG: pid 357880, injector.py, line 181, Grab /dev/input/event14
21.5730 SPAM: pid 357880, injector.py, line 329, Original capabilities for "/dev/input/event14": {('EV_SYN', 0): [('SYN_REPORT', 0), ('SYN_CONFIG', 1), ('SYN_DROPPED', 3), ('?', 4)], ('EV_KEY', 1): [(['BTN_DIGI', 'BTN_TOOL_PEN'], 320), ('BTN_TOUCH', 330), ('BTN_STYLUS', 331)], ('EV_ABS', 3): [(('ABS_X', 0), AbsInfo(value=19280, min=0, max=50794, fuzz=0, flat=0, resolution=200)), (('ABS_Y', 1), AbsInfo(value=19777, min=0, max=30474, fuzz=0, flat=0, resolution=200)), (('ABS_PRESSURE', 24), AbsInfo(value=0, min=0, max=8191, fuzz=0, flat=0, resolution=0)), (('ABS_TILT_X', 26), AbsInfo(value=0, min=-127, max=127, fuzz=0, flat=0, resolution=0)), (('ABS_TILT_Y', 27), AbsInfo(value=0, min=-127, max=127, fuzz=0, flat=0, resolution=0))], ('EV_MSC', 4): [('MSC_SCAN', 4)]}
21.6774 SPAM: pid 357880, injector.py, line 344, Injected capabilities for "/dev/input/event14": {('EV_SYN', 0): [('SYN_REPORT', 0), ('SYN_CONFIG', 1), ('SYN_DROPPED', 3), ('?', 4), ('?', 21)], ('EV_KEY', 1): [('KEY_A', 30), ('KEY_D', 32), ('KEY_F', 33), ('KEY_G', 34), ('KEY_H', 35), ('KEY_J', 36), ('KEY_C', 46), ('KEY_B', 48), (['BTN_DIGI', 'BTN_TOOL_PEN'], 320), ('BTN_TOUCH', 330), ('BTN_STYLUS', 331)], ('EV_ABS', 3): [(('ABS_X', 0), AbsInfo(value=0, min=0, max=50794, fuzz=0, flat=0, resolution=0)), (('ABS_Y', 1), AbsInfo(value=0, min=0, max=30474, fuzz=0, flat=0, resolution=0)), (('ABS_PRESSURE', 24), AbsInfo(value=0, min=0, max=8191, fuzz=0, flat=0, resolution=0)), (('ABS_TILT_X', 26), AbsInfo(value=0, min=-127, max=127, fuzz=0, flat=0, resolution=0)), (('ABS_TILT_Y', 27), AbsInfo(value=0, min=-127, max=127, fuzz=0, flat=0, resolution=0))], ('EV_MSC', 4): [('MSC_SCAN', 4)]}
21.6780 DEBUG: pid 357880, injector.py, line 181, Grab /dev/input/event13
21.6783 SPAM: pid 357880, injector.py, line 329, Original capabilities for "/dev/input/event13": {('EV_SYN', 0): [('SYN_REPORT', 0), ('SYN_CONFIG', 1), ('?', 4), ('?', 20)], ('EV_KEY', 1): [('KEY_ESC', 1), ('KEY_1', 2), ('KEY_2', 3), ('KEY_3', 4), ('KEY_4', 5), ('KEY_5', 6), ('KEY_6', 7), ('KEY_7', 8), ('KEY_8', 9), ('KEY_9', 10), ('KEY_0', 11), ('KEY_MINUS', 12), ('KEY_EQUAL', 13), ('KEY_BACKSPACE', 14), ('KEY_TAB', 15), ('KEY_Q', 16), ('KEY_W', 17), ('KEY_E', 18), ('KEY_R', 19), ('KEY_T', 20), ('KEY_Y', 21), ('KEY_U', 22), ('KEY_I', 23), ('KEY_O', 24), ('KEY_P', 25), ('KEY_LEFTBRACE', 26), ('KEY_RIGHTBRACE', 27), ('KEY_ENTER', 28), ('KEY_LEFTCTRL', 29), ('KEY_A', 30), ('KEY_S', 31), ('KEY_D', 32), ('KEY_F', 33), ('KEY_G', 34), ('KEY_H', 35), ('KEY_J', 36), ('KEY_K', 37), ('KEY_L', 38), ('KEY_SEMICOLON', 39), ('KEY_APOSTROPHE', 40), ('KEY_GRAVE', 41), ('KEY_LEFTSHIFT', 42), ('KEY_BACKSLASH', 43), ('KEY_Z', 44), ('KEY_X', 45), ('KEY_C', 46), ('KEY_V', 47), ('KEY_B', 48), ('KEY_N', 49), ('KEY_M', 50), ('KEY_COMMA', 51), ('KEY_DOT', 52), ('KEY_SLASH', 53), ('KEY_RIGHTSHIFT', 54), ('KEY_KPASTERISK', 55), ('KEY_LEFTALT', 56), ('KEY_SPACE', 57), ('KEY_CAPSLOCK', 58), ('KEY_F1', 59), ('KEY_F2', 60), ('KEY_F3', 61), ('KEY_F4', 62), ('KEY_F5', 63), ('KEY_F6', 64), ('KEY_F7', 65), ('KEY_F8', 66), ('KEY_F9', 67), ('KEY_F10', 68), ('KEY_NUMLOCK', 69), ('KEY_SCROLLLOCK', 70), ('KEY_KP7', 71), ('KEY_KP8', 72), ('KEY_KP9', 73), ('KEY_KPMINUS', 74), ('KEY_KP4', 75), ('KEY_KP5', 76), ('KEY_KP6', 77), ('KEY_KPPLUS', 78), ('KEY_KP1', 79), ('KEY_KP2', 80), ('KEY_KP3', 81), ('KEY_KP0', 82), ('KEY_KPDOT', 83), ('KEY_ZENKAKUHANKAKU', 85), ('KEY_102ND', 86), ('KEY_F11', 87), ('KEY_F12', 88), ('KEY_RO', 89), ('KEY_KATAKANA', 90), ('KEY_HIRAGANA', 91), ('KEY_HENKAN', 92), ('KEY_KATAKANAHIRAGANA', 93), ('KEY_MUHENKAN', 94), ('KEY_KPJPCOMMA', 95), ('KEY_KPENTER', 96), ('KEY_RIGHTCTRL', 97), ('KEY_KPSLASH', 98), ('KEY_SYSRQ', 99), ('KEY_RIGHTALT', 100), ('KEY_HOME', 102), ('KEY_UP', 103), ('KEY_PAGEUP', 104), ('KEY_LEFT', 105), ('KEY_RIGHT', 106), ('KEY_END', 107), ('KEY_DOWN', 108), ('KEY_PAGEDOWN', 109), ('KEY_INSERT', 110), ('KEY_DELETE', 111), (['KEY_MIN_INTERESTING', 'KEY_MUTE'], 113), ('KEY_VOLUMEDOWN', 114), ('KEY_VOLUMEUP', 115), ('KEY_POWER', 116), ('KEY_KPEQUAL', 117), ('KEY_PAUSE', 119), ('KEY_KPCOMMA', 121), (['KEY_HANGEUL', 'KEY_HANGUEL'], 122), ('KEY_HANJA', 123), ('KEY_YEN', 124), ('KEY_LEFTMETA', 125), ('KEY_RIGHTMETA', 126), ('KEY_COMPOSE', 127), ('KEY_STOP', 128), ('KEY_AGAIN', 129), ('KEY_PROPS', 130), ('KEY_UNDO', 131), ('KEY_FRONT', 132), ('KEY_COPY', 133), ('KEY_OPEN', 134), ('KEY_PASTE', 135), ('KEY_FIND', 136), ('KEY_CUT', 137), ('KEY_HELP', 138), ('KEY_CALC', 140), ('KEY_SLEEP', 142), ('KEY_WWW', 150), (['KEY_COFFEE', 'KEY_SCREENLOCK'], 152), ('KEY_BACK', 158), ('KEY_FORWARD', 159), ('KEY_EJECTCD', 161), ('KEY_NEXTSONG', 163), ('KEY_PLAYPAUSE', 164), ('KEY_PREVIOUSSONG', 165), ('KEY_STOPCD', 166), ('KEY_REFRESH', 173), ('KEY_EDIT', 176), ('KEY_SCROLLUP', 177), ('KEY_SCROLLDOWN', 178), ('KEY_KPLEFTPAREN', 179), ('KEY_KPRIGHTPAREN', 180), ('KEY_F13', 183), ('KEY_F14', 184), ('KEY_F15', 185), ('KEY_F16', 186), ('KEY_F17', 187), ('KEY_F18', 188), ('KEY_F19', 189), ('KEY_F20', 190), ('KEY_F21', 191), ('KEY_F22', 192), ('KEY_F23', 193), ('KEY_F24', 194), ('KEY_UNKNOWN', 240)], ('EV_MSC', 4): [('MSC_SCAN', 4)]}
21.7809 SPAM: pid 357880, injector.py, line 344, Injected capabilities for "/dev/input/event13": {('EV_SYN', 0): [('SYN_REPORT', 0), ('SYN_CONFIG', 1), ('?', 4), ('?', 21)], ('EV_KEY', 1): [('KEY_ESC', 1), ('KEY_1', 2), ('KEY_2', 3), ('KEY_3', 4), ('KEY_4', 5), ('KEY_5', 6), ('KEY_6', 7), ('KEY_7', 8), ('KEY_8', 9), ('KEY_9', 10), ('KEY_0', 11), ('KEY_MINUS', 12), ('KEY_EQUAL', 13), ('KEY_BACKSPACE', 14), ('KEY_TAB', 15), ('KEY_Q', 16), ('KEY_W', 17), ('KEY_E', 18), ('KEY_R', 19), ('KEY_T', 20), ('KEY_Y', 21), ('KEY_U', 22), ('KEY_I', 23), ('KEY_O', 24), ('KEY_P', 25), ('KEY_LEFTBRACE', 26), ('KEY_RIGHTBRACE', 27), ('KEY_ENTER', 28), ('KEY_LEFTCTRL', 29), ('KEY_A', 30), ('KEY_S', 31), ('KEY_D', 32), ('KEY_F', 33), ('KEY_G', 34), ('KEY_H', 35), ('KEY_J', 36), ('KEY_K', 37), ('KEY_L', 38), ('KEY_SEMICOLON', 39), ('KEY_APOSTROPHE', 40), ('KEY_GRAVE', 41), ('KEY_LEFTSHIFT', 42), ('KEY_BACKSLASH', 43), ('KEY_Z', 44), ('KEY_X', 45), ('KEY_C', 46), ('KEY_V', 47), ('KEY_B', 48), ('KEY_N', 49), ('KEY_M', 50), ('KEY_COMMA', 51), ('KEY_DOT', 52), ('KEY_SLASH', 53), ('KEY_RIGHTSHIFT', 54), ('KEY_KPASTERISK', 55), ('KEY_LEFTALT', 56), ('KEY_SPACE', 57), ('KEY_CAPSLOCK', 58), ('KEY_F1', 59), ('KEY_F2', 60), ('KEY_F3', 61), ('KEY_F4', 62), ('KEY_F5', 63), ('KEY_F6', 64), ('KEY_F7', 65), ('KEY_F8', 66), ('KEY_F9', 67), ('KEY_F10', 68), ('KEY_NUMLOCK', 69), ('KEY_SCROLLLOCK', 70), ('KEY_KP7', 71), ('KEY_KP8', 72), ('KEY_KP9', 73), ('KEY_KPMINUS', 74), ('KEY_KP4', 75), ('KEY_KP5', 76), ('KEY_KP6', 77), ('KEY_KPPLUS', 78), ('KEY_KP1', 79), ('KEY_KP2', 80), ('KEY_KP3', 81), ('KEY_KP0', 82), ('KEY_KPDOT', 83), ('KEY_ZENKAKUHANKAKU', 85), ('KEY_102ND', 86), ('KEY_F11', 87), ('KEY_F12', 88), ('KEY_RO', 89), ('KEY_KATAKANA', 90), ('KEY_HIRAGANA', 91), ('KEY_HENKAN', 92), ('KEY_KATAKANAHIRAGANA', 93), ('KEY_MUHENKAN', 94), ('KEY_KPJPCOMMA', 95), ('KEY_KPENTER', 96), ('KEY_RIGHTCTRL', 97), ('KEY_KPSLASH', 98), ('KEY_SYSRQ', 99), ('KEY_RIGHTALT', 100), ('KEY_HOME', 102), ('KEY_UP', 103), ('KEY_PAGEUP', 104), ('KEY_LEFT', 105), ('KEY_RIGHT', 106), ('KEY_END', 107), ('KEY_DOWN', 108), ('KEY_PAGEDOWN', 109), ('KEY_INSERT', 110), ('KEY_DELETE', 111), (['KEY_MIN_INTERESTING', 'KEY_MUTE'], 113), ('KEY_VOLUMEDOWN', 114), ('KEY_VOLUMEUP', 115), ('KEY_POWER', 116), ('KEY_KPEQUAL', 117), ('KEY_PAUSE', 119), ('KEY_KPCOMMA', 121), (['KEY_HANGEUL', 'KEY_HANGUEL'], 122), ('KEY_HANJA', 123), ('KEY_YEN', 124), ('KEY_LEFTMETA', 125), ('KEY_RIGHTMETA', 126), ('KEY_COMPOSE', 127), ('KEY_STOP', 128), ('KEY_AGAIN', 129), ('KEY_PROPS', 130), ('KEY_UNDO', 131), ('KEY_FRONT', 132), ('KEY_COPY', 133), ('KEY_OPEN', 134), ('KEY_PASTE', 135), ('KEY_FIND', 136), ('KEY_CUT', 137), ('KEY_HELP', 138), ('KEY_CALC', 140), ('KEY_SLEEP', 142), ('KEY_WWW', 150), (['KEY_COFFEE', 'KEY_SCREENLOCK'], 152), ('KEY_BACK', 158), ('KEY_FORWARD', 159), ('KEY_EJECTCD', 161), ('KEY_NEXTSONG', 163), ('KEY_PLAYPAUSE', 164), ('KEY_PREVIOUSSONG', 165), ('KEY_STOPCD', 166), ('KEY_REFRESH', 173), ('KEY_EDIT', 176), ('KEY_SCROLLUP', 177), ('KEY_SCROLLDOWN', 178), ('KEY_KPLEFTPAREN', 179), ('KEY_KPRIGHTPAREN', 180), ('KEY_F13', 183), ('KEY_F14', 184), ('KEY_F15', 185), ('KEY_F16', 186), ('KEY_F17', 187), ('KEY_F18', 188), ('KEY_F19', 189), ('KEY_F20', 190), ('KEY_F21', 191), ('KEY_F22', 192), ('KEY_F23', 193), ('KEY_F24', 194), ('KEY_UNKNOWN', 240)], ('EV_MSC', 4): [('MSC_SCAN', 4)]}
21.7815 DEBUG: pid 357880, injector.py, line 170, No need to grab /dev/input/event12
21.7934 DEBUG: pid 357880, numlock.py, line 73, numlockx not found
21.7948 DEBUG: pid 357880, injector.py, line 404, Started consumer to inject to /dev/input/event14, fd 24
21.7957 DEBUG: pid 357880, injector.py, line 404, Started consumer to inject to /dev/input/event13, fd 27
34.3499 SPAM: pid 357880, keycode_mapper.py, line 432, ((1, 29, 1)) ------------------ forwarding
34.3504 SPAM: pid 357880, keycode_mapper.py, line 297, ((1, 29, 1), (1, 78, 1)) ------ unknown combination
34.3507 SPAM: pid 357880, keycode_mapper.py, line 427, ((1, 78, 1)) ------------------ maps to 30
34.4492 SPAM: pid 357880, keycode_mapper.py, line 364, ((1, 29, 0)) ------------------ forwarding release
34.4495 SPAM: pid 357880, keycode_mapper.py, line 360, ((1, 78, 0)) ------------------ releasing 30
34.7975 SPAM: pid 357880, keycode_mapper.py, line 432, ((1, 29, 1)) ------------------ forwarding
34.7980 SPAM: pid 357880, keycode_mapper.py, line 297, ((1, 29, 1), (1, 74, 1)) ------ unknown combination
34.7983 SPAM: pid 357880, keycode_mapper.py, line 427, ((1, 74, 1)) ------------------ maps to 48
34.8653 SPAM: pid 357880, keycode_mapper.py, line 364, ((1, 29, 0)) ------------------ forwarding release
34.8656 SPAM: pid 357880, keycode_mapper.py, line 360, ((1, 74, 0)) ------------------ releasing 48
35.2135 SPAM: pid 357880, keycode_mapper.py, line 427, ((1, 48, 1)) ------------------ maps to 46
35.3013 SPAM: pid 357880, keycode_mapper.py, line 360, ((1, 48, 0)) ------------------ releasing 46
35.7854 SPAM: pid 357880, keycode_mapper.py, line 427, ((1, 18, 1)) ------------------ maps to 32
35.8695 SPAM: pid 357880, keycode_mapper.py, line 360, ((1, 18, 0)) ------------------ releasing 32
36.5054 SPAM: pid 357880, keycode_mapper.py, line 432, ((1, 29, 1)) ------------------ forwarding
36.5059 SPAM: pid 357880, keycode_mapper.py, line 297, ((1, 29, 1), (1, 56, 1)) ------ unknown combination
36.5062 SPAM: pid 357880, keycode_mapper.py, line 432, ((1, 56, 1)) ------------------ forwarding
36.5066 SPAM: pid 357880, keycode_mapper.py, line 297, ((1, 29, 1), (1, 56, 1), (1, 44, 1)) unknown combination
36.5088 SPAM: pid 357880, keycode_mapper.py, line 427, ((1, 44, 1)) ------------------ maps to 33
36.6012 SPAM: pid 357880, keycode_mapper.py, line 364, ((1, 29, 0)) ------------------ forwarding release
36.6015 SPAM: pid 357880, keycode_mapper.py, line 364, ((1, 56, 0)) ------------------ forwarding release
36.6016 SPAM: pid 357880, keycode_mapper.py, line 360, ((1, 44, 0)) ------------------ releasing 33
36.9893 SPAM: pid 357880, keycode_mapper.py, line 432, ((1, 29, 1)) ------------------ forwarding
36.9895 SPAM: pid 357880, keycode_mapper.py, line 297, ((1, 29, 1), (1, 31, 1)) ------ unknown combination
36.9897 SPAM: pid 357880, keycode_mapper.py, line 427, ((1, 31, 1)) ------------------ maps to 34
37.0736 SPAM: pid 357880, keycode_mapper.py, line 364, ((1, 29, 0)) ------------------ forwarding release
37.0739 SPAM: pid 357880, keycode_mapper.py, line 360, ((1, 31, 0)) ------------------ releasing 34
37.5333 SPAM: pid 357880, keycode_mapper.py, line 432, ((1, 29, 1)) ------------------ forwarding
37.5335 SPAM: pid 357880, keycode_mapper.py, line 297, ((1, 29, 1), (1, 44, 1)) ------ unknown combination
37.5337 SPAM: pid 357880, keycode_mapper.py, line 427, ((1, 44, 1)) ------------------ maps to 33
37.6014 SPAM: pid 357880, keycode_mapper.py, line 364, ((1, 29, 0)) ------------------ forwarding release
37.6018 SPAM: pid 357880, keycode_mapper.py, line 360, ((1, 44, 0)) ------------------ releasing 33
37.9493 SPAM: pid 357880, keycode_mapper.py, line 432, ((1, 29, 1)) ------------------ forwarding
37.9495 SPAM: pid 357880, keycode_mapper.py, line 297, ((1, 29, 1), (1, 21, 1)) ------ unknown combination
37.9497 SPAM: pid 357880, keycode_mapper.py, line 427, ((1, 21, 1)) ------------------ maps to 35
38.0614 SPAM: pid 357880, keycode_mapper.py, line 364, ((1, 29, 0)) ------------------ forwarding release
38.0619 SPAM: pid 357880, keycode_mapper.py, line 360, ((1, 21, 0)) ------------------ releasing 35
40.8094 SPAM: pid 357880, keycode_mapper.py, line 432, ((1, 29, 1)) ------------------ forwarding
40.8100 SPAM: pid 357880, keycode_mapper.py, line 297, ((1, 29, 1), (1, 44, 1)) ------ unknown combination
40.8101 SPAM: pid 357880, keycode_mapper.py, line 427, ((1, 44, 1)) ------------------ maps to 33
40.9373 SPAM: pid 357880, keycode_mapper.py, line 364, ((1, 29, 0)) ------------------ forwarding release
40.9376 SPAM: pid 357880, keycode_mapper.py, line 360, ((1, 44, 0)) ------------------ releasing 33
41.3974 SPAM: pid 357880, keycode_mapper.py, line 432, ((1, 29, 1)) ------------------ forwarding
41.3979 SPAM: pid 357880, keycode_mapper.py, line 297, ((1, 29, 1), (1, 31, 1)) ------ unknown combination
41.3982 SPAM: pid 357880, keycode_mapper.py, line 427, ((1, 31, 1)) ------------------ maps to 34
41.5412 SPAM: pid 357880, keycode_mapper.py, line 364, ((1, 29, 0)) ------------------ forwarding release
41.5414 SPAM: pid 357880, keycode_mapper.py, line 360, ((1, 31, 0)) ------------------ releasing 34
42.0694 SPAM: pid 357880, keycode_mapper.py, line 432, ((1, 29, 1)) ------------------ forwarding
42.0700 SPAM: pid 357880, keycode_mapper.py, line 297, ((1, 29, 1), (1, 56, 1)) ------ unknown combination
42.0702 SPAM: pid 357880, keycode_mapper.py, line 432, ((1, 56, 1)) ------------------ forwarding
42.0706 SPAM: pid 357880, keycode_mapper.py, line 297, ((1, 29, 1), (1, 56, 1), (1, 44, 1)) unknown combination
42.0742 SPAM: pid 357880, keycode_mapper.py, line 427, ((1, 44, 1)) ------------------ maps to 33
42.1812 SPAM: pid 357880, keycode_mapper.py, line 364, ((1, 29, 0)) ------------------ forwarding release
42.1814 SPAM: pid 357880, keycode_mapper.py, line 364, ((1, 56, 0)) ------------------ forwarding release
42.1816 SPAM: pid 357880, keycode_mapper.py, line 360, ((1, 44, 0)) ------------------ releasing 33
46.2984 SPAM: pid 357880, keycode_mapper.py, line 427, ((1, 331, 1)) ----------------- maps to 36
46.4560 SPAM: pid 357880, keycode_mapper.py, line 360, ((1, 331, 0)) ----------------- releasing 36
47.3462 SPAM: pid 357880, keycode_mapper.py, line 427, ((1, 331, 1)) ----------------- maps to 36
47.4642 SPAM: pid 357880, keycode_mapper.py, line 360, ((1, 331, 0)) ----------------- releasing 36
47.6264 SPAM: pid 357880, keycode_mapper.py, line 427, ((1, 331, 1)) ----------------- maps to 36
47.7403 SPAM: pid 357880, keycode_mapper.py, line 360, ((1, 331, 0)) ----------------- releasing 36
47.9203 SPAM: pid 357880, keycode_mapper.py, line 427, ((1, 331, 1)) ----------------- maps to 36
47.9900 SPAM: pid 357880, keycode_mapper.py, line 360, ((1, 331, 0)) ----------------- releasing 36
48.1583 SPAM: pid 357880, keycode_mapper.py, line 427, ((1, 331, 1)) ----------------- maps to 36
48.2421 SPAM: pid 357880, keycode_mapper.py, line 360, ((1, 331, 0)) ----------------- releasing 36
48.3983 SPAM: pid 357880, keycode_mapper.py, line 427, ((1, 331, 1)) ----------------- maps to 36
48.4660 SPAM: pid 357880, keycode_mapper.py, line 360, ((1, 331, 0)) ----------------- releasing 36
48.9542 SPAM: pid 357880, keycode_mapper.py, line 427, ((1, 331, 1)) ----------------- maps to 36
49.1841 SPAM: pid 357880, keycode_mapper.py, line 360, ((1, 331, 0)) ----------------- releasing 36
50.4441 SPAM: pid 357880, keycode_mapper.py, line 427, ((1, 331, 1)) ----------------- maps to 36
50.5499 SPAM: pid 357880, keycode_mapper.py, line 360, ((1, 331, 0)) ----------------- releasing 36
50.7301 SPAM: pid 357880, keycode_mapper.py, line 427, ((1, 331, 1)) ----------------- maps to 36
50.8221 SPAM: pid 357880, keycode_mapper.py, line 360, ((1, 331, 0)) ----------------- releasing 36
sezanzeb commented 3 years ago

Please try this experimental stuff that I have been working on yesterday:

~https://github.com/sezanzeb/key-mapper/tree/new-dev~

~run git pull && git checkout new-dev to switch to it.~

~No unittests for the new functionality exists, but all existing tests are already passing so I guess it's stable enough for you to try.~ Tests are pushed.

It creates a new device just for injecting stuff, which is recognized as keyboard/mouse so it can handle all the stuff that key-mapper potentially produces. The capabilities of all other devices stay the same, only their mapped buttons get blocked so that the old event won't reach the window manager. This makes sure that the tablet is still treated as a tablet after starting the injection. Only on that branch it would be possible to map buttons on your stylus actually

sezanzeb commented 3 years ago

it's in main now

CarlosEkisde commented 3 years ago

I can't run main without sudo. There seems to be some kind of problem with authentication method. I'll probably create another issue for this one :P

CarlosEkisde commented 3 years ago
0.06625 INFO: logger.py, line 215, Logging to "/root/.log/key-mapper/log"
0.10725 INFO: logger.py, line 155, key-mapper 0.6.1 dc9f51c56c32e94f2549b716cf042fef0c7f9951 https://github.com/sezanzeb/key-mapper
0.10791 INFO: logger.py, line 161, python-evdev 1.1.2
0.10805 WARNING: logger.py, line 167, Debug level will log all your keystrokes! Do not post this output in the internet if you typed in sensitive or private information with your device!
0.10824 DEBUG: logger.py, line 173, pid 139449
0.11114 DEBUG: daemon.py, line 214, Creating daemon
60.0806 INFO: config.py, line 246, Loaded config from "/home/Carlos/.config/key-mapper/config.json"
60.0826 DEBUG: daemon.py, line 225, Refreshing because last info is too old
60.1865 DEBUG: getdevices.py, line 115, Discovering device paths
60.1971 SPAM: getdevices.py, line 154, Found "3,10429,2311", "/dev/input/event14", "10 inch PenTablet" 
60.2013 SPAM: getdevices.py, line 154, Found "3,10429,2311", "/dev/input/event13", "10 inch PenTablet Keyboard" 
60.2061 SPAM: getdevices.py, line 154, Found "3,10429,2311", "/dev/input/event12", "10 inch PenTablet Mouse" 
60.3101 SPAM: getdevices.py, line 154, Found "3,1149,8257", "/dev/input/event3", "Kensington Slimblade Trackball" 
60.3141 SPAM: getdevices.py, line 154, Found "3,16700,8455", "/dev/input/event2", "DELL Dell USB Entry Keyboard" 
60.3242 INFO: getdevices.py, line 213, Found "10 inch PenTablet", "Kensington Slimblade Trackball", "DELL Dell USB Entry Keyboard"
60.3245 INFO: mapping.py, line 164, Loading preset from "/home/Carlos/.config/key-mapper/presets/10 inch PenTablet/new preset 2.json"
60.3250 SPAM: mapping.py, line 197, Key((1, 78, 1),) maps to a
60.3253 SPAM: mapping.py, line 197, Key((1, 74, 1),) maps to b
60.3255 SPAM: mapping.py, line 197, Key((1, 331, 1),) maps to c
60.3257 SPAM: mapping.py, line 197, Key((1, 48, 1),) maps to d
60.3259 SPAM: mapping.py, line 197, Key((1, 18, 1),) maps to f
60.3261 SPAM: mapping.py, line 197, Key((1, 44, 1),) maps to g
60.3263 SPAM: mapping.py, line 197, Key((1, 31, 1),) maps to h
60.3265 SPAM: mapping.py, line 197, Key((1, 21, 1),) maps to j
60.3271 DEBUG: daemon.py, line 437, Using keycodes from "/home/Carlos/.config/key-mapper/xmodmap.json"
60.3275 DEBUG: context.py, line 96, Parsing macros
60.3277 DEBUG: context.py, line 108, No macros configured
60.3340 INFO: pid 139581, injector.py, line 306, Starting injecting the mapping for "10 inch PenTablet"
60.5241 DEBUG: pid 139581, injector.py, line 181, Grab /dev/input/event14
60.6265 DEBUG: pid 139581, injector.py, line 181, Grab /dev/input/event13
60.7287 DEBUG: pid 139581, injector.py, line 170, No need to grab /dev/input/event12
60.7392 DEBUG: pid 139581, numlock.py, line 73, numlockx not found
60.7417 DEBUG: pid 139581, injector.py, line 402, Started consumer to inject to /dev/input/event14, fd 26
60.7424 DEBUG: pid 139581, injector.py, line 402, Started consumer to inject to /dev/input/event13, fd 29
62.0652 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
62.0655 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 29, 1), (1, 78, 1)) ------ unknown combination
62.0657 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 78, 1)) ------------------ maps to 30
62.2330 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
62.2332 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 78, 0)) ------------------ releasing 30
62.2570 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
62.2573 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 29, 1), (1, 78, 1)) ------ unknown combination
62.2574 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 78, 1)) ------------------ maps to 30
62.6093 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
62.6096 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 78, 0)) ------------------ releasing 30
62.7413 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
62.7417 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 29, 1), (1, 78, 1)) ------ unknown combination
62.7419 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 78, 1)) ------------------ maps to 30
62.8653 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
62.8655 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 78, 0)) ------------------ releasing 30
62.9814 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
62.9818 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 29, 1), (1, 78, 1)) ------ unknown combination
62.9820 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 78, 1)) ------------------ maps to 30
63.0893 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
63.0897 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 78, 0)) ------------------ releasing 30
63.4094 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
63.4099 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 29, 1), (1, 74, 1)) ------ unknown combination
63.4101 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 74, 1)) ------------------ maps to 48
63.4811 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
63.4813 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 74, 0)) ------------------ releasing 48
65.2571 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
65.2574 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 29, 1), (1, 78, 1)) ------ unknown combination
65.2575 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 78, 1)) ------------------ maps to 30
65.4090 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
65.4093 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 78, 0)) ------------------ releasing 30
65.6731 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
65.6733 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 29, 1), (1, 74, 1)) ------ unknown combination
65.6734 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 74, 1)) ------------------ maps to 48
65.7649 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
65.7652 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 74, 0)) ------------------ releasing 48
65.8370 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
65.8373 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 29, 1), (1, 74, 1)) ------ unknown combination
65.8374 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 74, 1)) ------------------ maps to 48
65.9130 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
65.9132 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 74, 0)) ------------------ releasing 48
66.1371 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 48, 1)) ------------------ maps to 32
66.2289 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 48, 0)) ------------------ releasing 32
66.5091 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 18, 1)) ------------------ maps to 33
66.5251 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 18, 0)) ------------------ releasing 33
66.6689 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
66.6692 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 29, 1), (1, 74, 1)) ------ unknown combination
66.6693 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 74, 1)) ------------------ maps to 48
66.7450 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
66.7452 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 74, 0)) ------------------ releasing 48
66.8490 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
66.8493 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 29, 1), (1, 78, 1)) ------ unknown combination
66.8494 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 78, 1)) ------------------ maps to 30
66.8930 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
66.8933 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 78, 0)) ------------------ releasing 30
67.3770 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
67.3773 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 29, 1), (1, 74, 1)) ------ unknown combination
67.3774 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 74, 1)) ------------------ maps to 48
67.4490 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
67.4492 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 74, 0)) ------------------ releasing 48
67.5570 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 48, 1)) ------------------ maps to 32
67.6930 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 48, 0)) ------------------ releasing 32
67.9609 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
67.9612 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 29, 1), (1, 56, 1)) ------ unknown combination
67.9613 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 56, 1)) ------------------ forwarding
67.9615 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 29, 1), (1, 56, 1), (1, 44, 1)) unknown combination
67.9616 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 44, 1)) ------------------ maps to 34
68.0530 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
68.0533 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 56, 0)) ------------------ forwarding release
68.0534 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 44, 0)) ------------------ releasing 34
68.2610 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
68.2612 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 29, 1), (1, 44, 1)) ------ unknown combination
68.2614 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 44, 1)) ------------------ maps to 34
68.2890 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 29, 1), (1, 44, 1), (1, 31, 1)) unknown combination
68.2892 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 31, 1)) ------------------ maps to 35
68.3089 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
68.3092 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 44, 0)) ------------------ releasing 34
68.3609 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 31, 0)) ------------------ releasing 35
68.4170 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
68.4172 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 29, 1), (1, 44, 1)) ------ unknown combination
68.4173 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 44, 1)) ------------------ maps to 34
68.5210 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
68.5212 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 44, 0)) ------------------ releasing 34
68.7409 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
68.7411 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 29, 1), (1, 21, 1)) ------ unknown combination
68.7413 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 21, 1)) ------------------ maps to 36
68.8770 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
68.8772 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 21, 0)) ------------------ releasing 36
69.0009 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
69.0011 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 29, 1), (1, 21, 1)) ------ unknown combination
69.0013 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 21, 1)) ------------------ maps to 36
69.1209 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
69.1211 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 21, 0)) ------------------ releasing 36
69.3329 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
69.3332 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 29, 1), (1, 31, 1)) ------ unknown combination
69.3333 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 31, 1)) ------------------ maps to 35
69.3730 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 29, 1), (1, 31, 1), (1, 44, 1)) unknown combination
69.3732 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 44, 1)) ------------------ maps to 34
69.6210 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
69.6212 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 31, 0)) ------------------ releasing 35
69.6330 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1)) ------ unknown combination
69.6332 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
69.6334 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1), (1, 21, 1)) unknown combination
69.6336 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 21, 1)) ------------------ maps to 36
69.6568 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
69.6571 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 21, 0)) ------------------ releasing 36
70.7130 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1)) ------ unknown combination
70.7132 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
70.7133 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1), (1, 21, 1)) unknown combination
70.7135 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 21, 1)) ------------------ maps to 36
70.8249 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
70.8252 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 21, 0)) ------------------ releasing 36
70.8369 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1)) ------ unknown combination
70.8371 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
70.8373 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1), (1, 21, 1)) unknown combination
70.8375 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 21, 1)) ------------------ maps to 36
70.9928 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
70.9931 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 21, 0)) ------------------ releasing 36
71.0329 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1)) ------ unknown combination
71.0331 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
71.0333 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1), (1, 56, 1)) unknown combination
71.0334 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 56, 1)) ------------------ forwarding
71.2569 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
71.2571 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 56, 0)) ------------------ forwarding release
71.3650 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1)) ------ unknown combination
71.3651 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
71.4572 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
71.5969 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1)) ------ unknown combination
71.5971 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
71.6889 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1), (1, 31, 1)) unknown combination
71.6891 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 31, 1)) ------------------ maps to 35
71.7169 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
71.8889 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 31, 1), (1, 29, 1)) unknown combination
71.8891 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
71.8893 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 31, 1), (1, 29, 1), (1, 56, 1)) unknown combination
71.8894 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 56, 1)) ------------------ forwarding
71.8929 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
71.8932 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 31, 0)) ------------------ releasing 35
72.0290 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 56, 0)) ------------------ forwarding release
73.8408 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1)) ------ unknown combination
73.8410 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
73.8412 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1), (1, 21, 1)) unknown combination
73.8414 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 21, 1)) ------------------ maps to 36
73.9648 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
73.9650 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 21, 0)) ------------------ releasing 36
74.1608 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1)) ------ unknown combination
74.1610 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
74.1612 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1), (1, 31, 1)) unknown combination
74.1613 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 31, 1)) ------------------ maps to 35
74.3128 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
74.3130 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 31, 0)) ------------------ releasing 35
74.4287 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1)) ------ unknown combination
74.4289 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
74.4291 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1), (1, 31, 1)) unknown combination
74.4292 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 31, 1)) ------------------ maps to 35
74.5009 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
74.5011 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 31, 0)) ------------------ releasing 35
74.6808 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1)) ------ unknown combination
74.6810 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
74.6812 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1), (1, 56, 1)) unknown combination
74.6813 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 56, 1)) ------------------ forwarding
74.8328 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
74.8331 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 56, 0)) ------------------ forwarding release
76.3448 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1)) ------ unknown combination
76.3450 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
76.3452 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1), (1, 56, 1)) unknown combination
76.3453 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 56, 1)) ------------------ forwarding
76.5009 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
76.5011 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 56, 0)) ------------------ forwarding release
76.6448 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1)) ------ unknown combination
76.6450 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
76.6452 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1), (1, 56, 1)) unknown combination
76.6453 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 56, 1)) ------------------ forwarding
76.7728 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
76.7731 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 56, 0)) ------------------ forwarding release
76.9768 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1)) ------ unknown combination
76.9771 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
76.9773 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1), (1, 56, 1)) unknown combination
76.9775 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 56, 1)) ------------------ forwarding
77.1049 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
77.1051 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 56, 0)) ------------------ forwarding release
77.2089 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1)) ------ unknown combination
77.2090 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
77.2092 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1), (1, 56, 1)) unknown combination
77.2094 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 56, 1)) ------------------ forwarding
77.2809 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
77.2811 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 56, 0)) ------------------ forwarding release
78.4971 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1)) ------ unknown combination
78.4974 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
78.4978 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1), (1, 56, 1)) unknown combination
78.4981 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 56, 1)) ------------------ forwarding
78.6370 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
78.6375 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 56, 0)) ------------------ forwarding release
78.8251 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1)) ------ unknown combination
78.8253 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
78.8255 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1), (1, 31, 1)) unknown combination
78.8258 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 31, 1)) ------------------ maps to 35
78.9568 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
78.9571 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 31, 0)) ------------------ releasing 35
79.4098 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 331, 1)) ----- unknown combination
79.4100 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 331, 1)) ----------------- maps to 46
79.5456 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 331, 0)) ----------------- releasing 46
79.6979 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 331, 1)) ----- unknown combination
79.6982 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 331, 1)) ----------------- maps to 46
79.7639 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 331, 0)) ----------------- releasing 46
79.9261 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 331, 1)) ----- unknown combination
79.9264 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 331, 1)) ----------------- maps to 46
79.9799 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 331, 0)) ----------------- releasing 46
80.1241 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 331, 1)) ----- unknown combination
80.1244 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 331, 1)) ----------------- maps to 46
80.1857 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 331, 0)) ----------------- releasing 46
80.3319 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 331, 1)) ----- unknown combination
80.3322 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 331, 1)) ----------------- maps to 46
80.4050 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 331, 0)) ----------------- releasing 46
80.5600 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 331, 1)) ----- unknown combination
80.5604 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 331, 1)) ----------------- maps to 46
80.6039 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 331, 0)) ----------------- releasing 46
81.5129 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1)) ------ unknown combination
81.5132 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
81.5136 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1), (1, 56, 1)) unknown combination
81.5139 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 56, 1)) ------------------ forwarding
81.7287 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
81.7289 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 56, 0)) ------------------ forwarding release
81.8929 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1)) ------ unknown combination
81.8932 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
82.0328 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
86.3650 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1)) ------ unknown combination
86.3653 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
86.3659 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1), (1, 78, 1)) unknown combination
86.3660 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 78, 1)) ------------------ maps to 30
86.4887 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
86.4890 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 78, 0)) ------------------ releasing 30
86.8168 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1)) ------ unknown combination
86.8171 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
86.8173 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1), (1, 74, 1)) unknown combination
86.8176 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 74, 1)) ------------------ maps to 48
86.9367 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
86.9370 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 74, 0)) ------------------ releasing 48
87.0646 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 48, 1)) ------ unknown combination
87.0648 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 48, 1)) ------------------ maps to 32
87.1807 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 48, 0)) ------------------ releasing 32
87.3007 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 18, 1)) ------ unknown combination
87.3009 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 18, 1)) ------------------ maps to 33
87.4406 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 18, 0)) ------------------ releasing 33
87.8327 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1)) ------ unknown combination
87.8329 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
87.8331 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1), (1, 56, 1)) unknown combination
87.8332 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 56, 1)) ------------------ forwarding
88.0047 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
88.0050 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 56, 0)) ------------------ forwarding release
88.3569 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1)) ------ unknown combination
88.3573 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
88.3577 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1), (1, 31, 1)) unknown combination
88.3579 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 31, 1)) ------------------ maps to 35
88.5007 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
88.5009 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 31, 0)) ------------------ releasing 35
88.7966 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1)) ------ unknown combination
88.7969 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
88.9167 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
89.1449 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1)) ------ unknown combination
89.1452 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
89.1456 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1), (1, 21, 1)) unknown combination
89.1459 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 21, 1)) ------------------ maps to 36
89.2606 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
89.2608 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 21, 0)) ------------------ releasing 36
91.6689 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1)) ------ unknown combination
91.6692 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
91.7769 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
93.7008 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1)) ------ unknown combination
93.7012 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
93.7015 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1), (1, 56, 1)) unknown combination
93.7016 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 56, 1)) ------------------ forwarding
93.8729 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
93.8732 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 56, 0)) ------------------ forwarding release
93.9889 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1)) ------ unknown combination
93.9892 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
93.9896 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1), (1, 56, 1)) unknown combination
93.9899 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 56, 1)) ------------------ forwarding
94.1248 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
94.1251 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 56, 0)) ------------------ forwarding release
94.2887 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1)) ------ unknown combination
94.2889 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
94.2891 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1), (1, 56, 1)) unknown combination
94.2892 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 56, 1)) ------------------ forwarding
94.4208 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
94.4212 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 56, 0)) ------------------ forwarding release
95.6089 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1)) ------ unknown combination
95.6092 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
95.6096 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1), (1, 31, 1)) unknown combination
95.6099 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 31, 1)) ------------------ maps to 35
95.7446 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
95.7449 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 31, 0)) ------------------ releasing 35
96.0184 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1)) ------ unknown combination
96.0186 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
96.0188 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1), (1, 31, 1)) unknown combination
96.0189 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 31, 1)) ------------------ maps to 35
96.1405 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
96.1407 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 31, 0)) ------------------ releasing 35
96.5005 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1)) ------ unknown combination
96.5007 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
96.6006 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
96.9688 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1)) ------ unknown combination
96.9690 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
96.9692 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1), (1, 21, 1)) unknown combination
96.9695 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 21, 1)) ------------------ maps to 36
97.0925 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
97.0927 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 21, 0)) ------------------ releasing 36
97.3725 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1)) ------ unknown combination
97.3727 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
97.5206 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
98.5926 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1)) ------ unknown combination
98.5929 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
98.5933 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1), (1, 56, 1)) unknown combination
98.5936 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 56, 1)) ------------------ forwarding
98.6809 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
98.6813 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 56, 0)) ------------------ forwarding release
98.7566 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1)) ------ unknown combination
98.7568 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
98.7572 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1), (1, 56, 1)) unknown combination
98.7574 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 56, 1)) ------------------ forwarding
98.8447 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
98.8451 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 56, 0)) ------------------ forwarding release
99.2687 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1)) ------ unknown combination
99.2691 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
99.2695 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1), (1, 31, 1)) unknown combination
99.2698 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 31, 1)) ------------------ maps to 35
99.3645 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
99.3648 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 31, 0)) ------------------ releasing 35
100.036 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1)) ------ unknown combination
100.037 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
100.037 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1), (1, 31, 1)) unknown combination
100.037 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 31, 1)) ------------------ maps to 35
100.096 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
100.096 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 31, 0)) ------------------ releasing 35
100.896 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1)) ------ unknown combination
100.897 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
100.897 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1), (1, 21, 1)) unknown combination
100.897 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 21, 1)) ------------------ maps to 36
101.020 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
101.020 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 21, 0)) ------------------ releasing 36
101.064 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1)) ------ unknown combination
101.064 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
101.064 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1), (1, 21, 1)) unknown combination
101.065 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 21, 1)) ------------------ maps to 36
101.160 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
101.160 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 21, 0)) ------------------ releasing 36
101.760 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1)) ------ unknown combination
101.760 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
101.760 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1), (1, 31, 1)) unknown combination
101.761 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 31, 1)) ------------------ maps to 35
101.852 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
101.852 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 31, 0)) ------------------ releasing 35
102.028 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1)) ------ unknown combination
102.028 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
102.028 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1), (1, 56, 1)) unknown combination
102.028 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 56, 1)) ------------------ forwarding
102.188 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
102.188 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 56, 0)) ------------------ forwarding release
102.476 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1)) ------ unknown combination
102.476 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
102.476 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1), (1, 56, 1)) unknown combination
102.477 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 56, 1)) ------------------ forwarding
102.548 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
102.548 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 56, 0)) ------------------ forwarding release
102.836 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1)) ------ unknown combination
102.836 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
102.836 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1), (1, 31, 1)) unknown combination
102.837 SPAM: pid 139581, keycode_mapper.py, line 430, ((1, 31, 1)) ------------------ maps to 35
102.888 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
102.888 SPAM: pid 139581, keycode_mapper.py, line 363, ((1, 31, 0)) ------------------ releasing 35
103.136 SPAM: pid 139581, keycode_mapper.py, line 300, ((1, 44, 1), (1, 29, 1)) ------ unknown combination
103.136 SPAM: pid 139581, keycode_mapper.py, line 435, ((1, 29, 1)) ------------------ forwarding
103.232 SPAM: pid 139581, keycode_mapper.py, line 367, ((1, 29, 0)) ------------------ forwarding release
104.912 INFO: injector.py, line 140, Stopping injecting keycodes for device "10 inch PenTablet"
104.913 DEBUG: pid 139581, injector.py, line 285, Received close signal
104.913 DEBUG: pid 139581, injector.py, line 383, asyncio coroutines ended
104.924 DEBUG: numlock.py, line 73, numlockx not found
CarlosEkisde commented 3 years ago

Combo buttons seem to be correctly remaped, stylus button seems to work. But cursor still doesn't move and there's still the problem of key-mapper not being able to differencing between Ctrl+Z and Ctrl+Alt+Z. On this last case I noticed an inconsistent behaviour. First times I pressed that buttons they seemed to work (even if they were detected as the same) but at the end they stopped working.

Also the UI now seems a little buggy

sezanzeb commented 3 years ago

what do you mean with "a little buggy"? I haven't changed anything in the ui for quite some time

sezanzeb commented 3 years ago

does the cursor move if you don't map your stylus buttons?

sezanzeb commented 3 years ago

which tablet is that exactly?

sezanzeb commented 3 years ago

uname -r please

CarlosEkisde commented 3 years ago

uname -r please

5.10.15-200.fc33.x86_64

Tablet is UGEE M708

Like the other issue. I don't know why but after trying another time, I was able to move the cursor after remapping the stylus button. Then noticed I was running key-mapper without the daemon loaded, I closed the UI, started the daemon, loaded the UI again and cursor stopped moving now when applying.

Also, I noticed key-mapper now tries to map the "conflicting" buttons in a different way. imagen

The button that appears as LEFTALT is Ctrl+Alt+Z and the button LEFTCTRL is Ctrl+Z. This creates another problem, because minus two keys and the sylus button, every other buttons is Ctrl+something. So when I apply the remap and press one of these buttons, it triggers the remap for that buttons and also the one for the LEFTCTRL remap

sezanzeb commented 3 years ago

And that tablet ships with those combinations on it by default?

sezanzeb commented 3 years ago

echo $XDG_SESSION_TYPE please

CarlosEkisde commented 3 years ago

And that tablet ships with those combinations on it by default?

I think so because when using krita with "photoshop compatible" shortcuts it does logical things when pressing the buttons. On the other hand I'm sure I'm not remapping it with another program at the same time and of course I'm not expecting this to have a configurable firmware XD. (it's a cheap model, and I'm sure even expensive ones don't have this)

Output of last command is "x11"

sezanzeb commented 3 years ago

If you run sudo evtest and try all of the "key-mapper 10 inch PenTablet ..." devices, which one will print ABS_X and ABS_Y events when you move with your pen around while the injection is ongoing and while your cursor is not moving?

CarlosEkisde commented 3 years ago

key-mapper 10 inch PenTablet forwarded

sezanzeb commented 3 years ago

please copy the evtest output before any events are shown, which includes the capabilities of that device.

I need this stuff:

Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 113 (KEY_MUTE)
    Event code 114 (KEY_VOLUMEDOWN)
    Event code 115 (KEY_VOLUMEUP)
    ...

whatever the reason for that cursor not moving is, I don't think it has anything to do with the device capabilities anymore, because

Could you please also post sample ABS_X and ABS_Y events from evtest to check if their value is not screwed up?

CarlosEkisde commented 3 years ago
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x1 product 0x1 version 0x1
Input device name: "key-mapper 10 inch PenTablet forwarded"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 320 (BTN_TOOL_PEN)
    Event code 330 (BTN_TOUCH)
    Event code 331 (BTN_STYLUS)
  Event type 3 (EV_ABS)
    Event code 0 (ABS_X)
      Value  29831
      Min        0
      Max    50794
    Event code 1 (ABS_Y)
      Value  18350
      Min        0
      Max    30474
    Event code 24 (ABS_PRESSURE)
      Value      0
      Min        0
      Max     8191
    Event code 26 (ABS_TILT_X)
      Value      0
      Min     -127
      Max      127
    Event code 27 (ABS_TILT_Y)
      Value      0
      Min     -127
      Max      127
  Event type 4 (EV_MSC)
    Event code 4 (MSC_SCAN)
  Event type 21 (EV_FF)
Properties:
Testing ... (interrupt to exit)
Event: time 1613740719.784638, type 1 (EV_KEY), code 320 (BTN_TOOL_PEN), value 1
Event: time 1613740719.784638, type 3 (EV_ABS), code 0 (ABS_X), value 31340
Event: time 1613740719.784638, type 3 (EV_ABS), code 1 (ABS_Y), value 19426
Event: time 1613740719.784638, -------------- SYN_REPORT ------------
Event: time 1613740719.788471, type 3 (EV_ABS), code 1 (ABS_Y), value 19450
Event: time 1613740719.788471, -------------- SYN_REPORT ------------
Event: time 1613740719.794452, type 3 (EV_ABS), code 1 (ABS_Y), value 19472
Event: time 1613740719.794452, -------------- SYN_REPORT ------------
Event: time 1613740719.798514, type 3 (EV_ABS), code 0 (ABS_X), value 31317
Event: time 1613740719.798514, -------------- SYN_REPORT ------------
Event: time 1613740719.802482, type 3 (EV_ABS), code 0 (ABS_X), value 31296
Event: time 1613740719.802482, type 3 (EV_ABS), code 1 (ABS_Y), value 19502
Event: time 1613740719.802482, -------------- SYN_REPORT ------------
Event: time 1613740719.808483, type 3 (EV_ABS), code 1 (ABS_Y), value 19527
Event: time 1613740719.808483, -------------- SYN_REPORT ------------
Event: time 1613740719.812479, type 3 (EV_ABS), code 0 (ABS_X), value 31272
Event: time 1613740719.812479, type 3 (EV_ABS), code 1 (ABS_Y), value 19551
Event: time 1613740719.812479, -------------- SYN_REPORT ------------
Event: time 1613740719.818566, type 3 (EV_ABS), code 0 (ABS_X), value 31248
Event: time 1613740719.818566, type 3 (EV_ABS), code 1 (ABS_Y), value 19579
Event: time 1613740719.818566, -------------- SYN_REPORT ------------
Event: time 1613740719.822522, type 3 (EV_ABS), code 0 (ABS_X), value 31228
Event: time 1613740719.822522, type 3 (EV_ABS), code 1 (ABS_Y), value 19611
Event: time 1613740719.822522, -------------- SYN_REPORT ------------
Event: time 1613740719.826697, type 3 (EV_ABS), code 1 (ABS_Y), value 19646
Event: time 1613740719.826697, -------------- SYN_REPORT ------------
Event: time 1613740719.830700, type 3 (EV_ABS), code 0 (ABS_X), value 31204
Event: time 1613740719.830700, type 3 (EV_ABS), code 1 (ABS_Y), value 19685
Event: time 1613740719.830700, -------------- SYN_REPORT ------------
Event: time 1613740719.834477, type 3 (EV_ABS), code 1 (ABS_Y), value 19729
Event: time 1613740719.834477, -------------- SYN_REPORT ------------
Event: time 1613740719.838522, type 3 (EV_ABS), code 0 (ABS_X), value 31176
Event: time 1613740719.838522, type 3 (EV_ABS), code 1 (ABS_Y), value 19777
Event: time 1613740719.838522, -------------- SYN_REPORT ------------
Event: time 1613740719.842693, type 3 (EV_ABS), code 1 (ABS_Y), value 19830
Event: time 1613740719.842693, -------------- SYN_REPORT ------------
Event: time 1613740719.846658, type 3 (EV_ABS), code 0 (ABS_X), value 31153
Event: time 1613740719.846658, type 3 (EV_ABS), code 1 (ABS_Y), value 19889
Event: time 1613740719.846658, -------------- SYN_REPORT ------------
Event: time 1613740719.852577, type 3 (EV_ABS), code 1 (ABS_Y), value 19950
Event: time 1613740719.852577, -------------- SYN_REPORT ------------
sezanzeb commented 3 years ago

that looks completely reasonable and good. I don't know what else to do for that problem. The stuff printed by evtest is the only thing the display server will ever receive from key-mapper. And if that doesn't look broken there is nothing I can do anymore.

Without injection, how is the output for the original /dev node ("10 inch PenTablet")?

you could try wayland

sezanzeb commented 3 years ago

Branch disabled-prioritisation https://github.com/sezanzeb/key-mapper/tree/disabled-prioritisation might fix the combined buttons

CarlosEkisde commented 3 years ago

I've just tried that branch. They are all seem to work. Cursor still doesn´t move when applying imagen

sezanzeb commented 3 years ago

does the cursor move if you don't map BTN_STYLUS?

EDIT: already asked that https://github.com/sezanzeb/key-mapper/issues/36#issuecomment-782035295

but I don't quite get if that prevents the issue or not

CarlosEkisde commented 3 years ago

Yes, if it's not mapped the cursor moves. I tested also on Wayland and there is the same issue.

sezanzeb commented 3 years ago

ok, thanks for trying wayland as well. Now that the cursor moves, repeat the evtest step please and this time select 10 inch PenTablet, or whichever is the one that prints ABS_X and ABS_Y events. Paste the output of that one.

CarlosEkisde commented 3 years ago
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x28bd product 0x907 version 0x100
Input device name: "10 inch PenTablet"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 320 (BTN_TOOL_PEN)
    Event code 330 (BTN_TOUCH)
    Event code 331 (BTN_STYLUS)
  Event type 3 (EV_ABS)
    Event code 0 (ABS_X)
      Value  16416
      Min        0
      Max    50794
      Resolution     200
    Event code 1 (ABS_Y)
      Value  15319
      Min        0
      Max    30474
      Resolution     200
    Event code 24 (ABS_PRESSURE)
      Value      0
      Min        0
      Max     8191
    Event code 26 (ABS_TILT_X)
      Value      0
      Min     -127
      Max      127
    Event code 27 (ABS_TILT_Y)
      Value      0
      Min     -127
      Max      127
  Event type 4 (EV_MSC)
    Event code 4 (MSC_SCAN)
Properties:
  Property type 1 (INPUT_PROP_DIRECT)
Testing ... (interrupt to exit)
Event: time 1614084833.776655, type 1 (EV_KEY), code 320 (BTN_TOOL_PEN), value 1
Event: time 1614084833.776655, type 3 (EV_ABS), code 0 (ABS_X), value 7846
Event: time 1614084833.776655, type 3 (EV_ABS), code 1 (ABS_Y), value 15540
Event: time 1614084833.776655, -------------- SYN_REPORT ------------
Event: time 1614084833.784648, type 3 (EV_ABS), code 1 (ABS_Y), value 15580
Event: time 1614084833.784648, -------------- SYN_REPORT ------------
Event: time 1614084833.790653, type 3 (EV_ABS), code 0 (ABS_X), value 7817
Event: time 1614084833.790653, type 3 (EV_ABS), code 1 (ABS_Y), value 15621
Event: time 1614084833.790653, -------------- SYN_REPORT ------------
Event: time 1614084833.794639, type 3 (EV_ABS), code 0 (ABS_X), value 7787
Event: time 1614084833.794639, type 3 (EV_ABS), code 1 (ABS_Y), value 15657
Event: time 1614084833.794639, -------------- SYN_REPORT ------------
Event: time 1614084833.798647, type 3 (EV_ABS), code 0 (ABS_X), value 7755
Event: time 1614084833.798647, type 3 (EV_ABS), code 1 (ABS_Y), value 15691
Event: time 1614084833.798647, -------------- SYN_REPORT ------------
Event: time 1614084833.802646, type 3 (EV_ABS), code 0 (ABS_X), value 7723
Event: time 1614084833.802646, type 3 (EV_ABS), code 1 (ABS_Y), value 15721
Event: time 1614084833.802646, -------------- SYN_REPORT ------------
Event: time 1614084833.806663, type 3 (EV_ABS), code 0 (ABS_X), value 7690
Event: time 1614084833.806663, type 3 (EV_ABS), code 1 (ABS_Y), value 15746
Event: time 1614084833.806663, -------------- SYN_REPORT ------------
Event: time 1614084833.812643, type 3 (EV_ABS), code 0 (ABS_X), value 7652
Event: time 1614084833.812643, type 3 (EV_ABS), code 1 (ABS_Y), value 15772
Event: time 1614084833.812643, -------------- SYN_REPORT ------------
Event: time 1614084833.816648, type 3 (EV_ABS), code 0 (ABS_X), value 7607
Event: time 1614084833.816648, type 3 (EV_ABS), code 1 (ABS_Y), value 15801
Event: time 1614084833.816648, -------------- SYN_REPORT ------------
Event: time 1614084833.820663, type 3 (EV_ABS), code 0 (ABS_X), value 7557
Event: time 1614084833.820663, type 3 (EV_ABS), code 1 (ABS_Y), value 15831
Event: time 1614084833.820663, -------------- SYN_REPORT ------------
Event: time 1614084833.824667, type 3 (EV_ABS), code 0 (ABS_X), value 7502
Event: time 1614084833.824667, type 3 (EV_ABS), code 1 (ABS_Y), value 15862
Event: time 1614084833.824667, -------------- SYN_REPORT ------------
Event: time 1614084833.828645, type 3 (EV_ABS), code 0 (ABS_X), value 7446
Event: time 1614084833.828645, type 3 (EV_ABS), code 1 (ABS_Y), value 15894
Event: time 1614084833.828645, -------------- SYN_REPORT ------------
Event: time 1614084833.832645, type 3 (EV_ABS), code 0 (ABS_X), value 7387
Event: time 1614084833.832645, type 3 (EV_ABS), code 1 (ABS_Y), value 15927
Event: time 1614084833.832645, -------------- SYN_REPORT ------------
Event: time 1614084833.836655, type 3 (EV_ABS), code 0 (ABS_X), value 7323
Event: time 1614084833.836655, type 3 (EV_ABS), code 1 (ABS_Y), value 15961
Event: time 1614084833.836655, -------------- SYN_REPORT ------------
Event: time 1614084833.842656, type 3 (EV_ABS), code 0 (ABS_X), value 7256
Event: time 1614084833.842656, type 3 (EV_ABS), code 1 (ABS_Y), value 15993
Event: time 1614084833.842656, -------------- SYN_REPORT ------------
Event: time 1614084833.846642, type 3 (EV_ABS), code 0 (ABS_X), value 7189
Event: time 1614084833.846642, type 3 (EV_ABS), code 1 (ABS_Y), value 16025
Event: time 1614084833.846642, -------------- SYN_REPORT ------------
Event: time 1614084833.850643, type 3 (EV_ABS), code 0 (ABS_X), value 7122
Event: time 1614084833.850643, type 3 (EV_ABS), code 1 (ABS_Y), value 16057
Event: time 1614084833.850643, -------------- SYN_REPORT ------------
Event: time 1614084833.854639, type 3 (EV_ABS), code 0 (ABS_X), value 7055
Event: time 1614084833.854639, type 3 (EV_ABS), code 1 (ABS_Y), value 16093
Event: time 1614084833.854639, -------------- SYN_REPORT ------------
Event: time 1614084833.858648, type 3 (EV_ABS), code 0 (ABS_X), value 6986
Event: time 1614084833.858648, type 3 (EV_ABS), code 1 (ABS_Y), value 16128
Event: time 1614084833.858648, -------------- SYN_REPORT ------------
Event: time 1614084833.862642, type 3 (EV_ABS), code 0 (ABS_X), value 6920
Event: time 1614084833.862642, type 3 (EV_ABS), code 1 (ABS_Y), value 16166
Event: time 1614084833.862642, -------------- SYN_REPORT ------------
Event: time 1614084833.866644, type 3 (EV_ABS), code 0 (ABS_X), value 6859
Event: time 1614084833.866644, type 3 (EV_ABS), code 1 (ABS_Y), value 16201
Event: time 1614084833.866644, -------------- SYN_REPORT ------------
Event: time 1614084833.870639, type 3 (EV_ABS), code 0 (ABS_X), value 6798
Event: time 1614084833.870639, type 3 (EV_ABS), code 1 (ABS_Y), value 16234
Event: time 1614084833.870639, -------------- SYN_REPORT ------------
Event: time 1614084833.876652, type 3 (EV_ABS), code 0 (ABS_X), value 6741
Event: time 1614084833.876652, type 3 (EV_ABS), code 1 (ABS_Y), value 16268
Event: time 1614084833.876652, -------------- SYN_REPORT ------------
Event: time 1614084833.880645, type 3 (EV_ABS), code 0 (ABS_X), value 6686
Event: time 1614084833.880645, type 3 (EV_ABS), code 1 (ABS_Y), value 16301
Event: time 1614084833.880645, -------------- SYN_REPORT ------------
Event: time 1614084833.884647, type 3 (EV_ABS), code 0 (ABS_X), value 6633
Event: time 1614084833.884647, type 3 (EV_ABS), code 1 (ABS_Y), value 16335
Event: time 1614084833.884647, -------------- SYN_REPORT ------------
Event: time 1614084833.888644, type 3 (EV_ABS), code 0 (ABS_X), value 6580
Event: time 1614084833.888644, type 3 (EV_ABS), code 1 (ABS_Y), value 16367
Event: time 1614084833.888644, -------------- SYN_REPORT ------------
Event: time 1614084833.894645, type 3 (EV_ABS), code 0 (ABS_X), value 6531
Event: time 1614084833.894645, type 3 (EV_ABS), code 1 (ABS_Y), value 16396
Event: time 1614084833.894645, -------------- SYN_REPORT ------------
Event: time 1614084833.898645, type 3 (EV_ABS), code 0 (ABS_X), value 6485
Event: time 1614084833.898645, type 3 (EV_ABS), code 1 (ABS_Y), value 16425
Event: time 1614084833.898645, -------------- SYN_REPORT ------------
Event: time 1614084833.902646, type 3 (EV_ABS), code 0 (ABS_X), value 6442
Event: time 1614084833.902646, type 3 (EV_ABS), code 1 (ABS_Y), value 16451
Event: time 1614084833.902646, -------------- SYN_REPORT ------------
Event: time 1614084833.906637, type 3 (EV_ABS), code 0 (ABS_X), value 6403
Event: time 1614084833.906637, type 3 (EV_ABS), code 1 (ABS_Y), value 16476
Event: time 1614084833.906637, -------------- SYN_REPORT ------------
Event: time 1614084833.910649, type 3 (EV_ABS), code 0 (ABS_X), value 6370
Event: time 1614084833.910649, type 3 (EV_ABS), code 1 (ABS_Y), value 16496
Event: time 1614084833.910649, -------------- SYN_REPORT ------------
Event: time 1614084833.914647, type 3 (EV_ABS), code 0 (ABS_X), value 6342
Event: time 1614084833.914647, -------------- SYN_REPORT ------------
Event: time 1614084833.918645, type 3 (EV_ABS), code 0 (ABS_X), value 6321
Event: time 1614084833.918645, type 3 (EV_ABS), code 1 (ABS_Y), value 16516
Event: time 1614084833.918645, -------------- SYN_REPORT ------------
Event: time 1614084833.954686, type 3 (EV_ABS), code 0 (ABS_X), value 6344
Event: time 1614084833.954686, type 3 (EV_ABS), code 1 (ABS_Y), value 16495
Event: time 1614084833.954686, -------------- SYN_REPORT ------------
Event: time 1614084833.958648, type 3 (EV_ABS), code 0 (ABS_X), value 6369
Event: time 1614084833.958648, -------------- SYN_REPORT ------------
Event: time 1614084833.962641, type 3 (EV_ABS), code 0 (ABS_X), value 6395
Event: time 1614084833.962641, type 3 (EV_ABS), code 1 (ABS_Y), value 16467
Event: time 1614084833.962641, -------------- SYN_REPORT ------------
Event: time 1614084833.966639, type 3 (EV_ABS), code 0 (ABS_X), value 6423
Event: time 1614084833.966639, -------------- SYN_REPORT ------------
Event: time 1614084833.970650, type 3 (EV_ABS), code 0 (ABS_X), value 6454
Event: time 1614084833.970650, type 3 (EV_ABS), code 1 (ABS_Y), value 16442
Event: time 1614084833.970650, -------------- SYN_REPORT ------------
Event: time 1614084833.974689, type 3 (EV_ABS), code 0 (ABS_X), value 6487
Event: time 1614084833.974689, type 3 (EV_ABS), code 1 (ABS_Y), value 16421
Event: time 1614084833.974689, -------------- SYN_REPORT ------------
Event: time 1614084833.980657, type 3 (EV_ABS), code 0 (ABS_X), value 6521
Event: time 1614084833.980657, -------------- SYN_REPORT ------------
Event: time 1614084833.984635, type 3 (EV_ABS), code 0 (ABS_X), value 6558
Event: time 1614084833.984635, type 3 (EV_ABS), code 1 (ABS_Y), value 16397
Event: time 1614084833.984635, -------------- SYN_REPORT ------------
Event: time 1614084833.988640, type 3 (EV_ABS), code 0 (ABS_X), value 6597
Event: time 1614084833.988640, -------------- SYN_REPORT ------------
Event: time 1614084833.992634, type 3 (EV_ABS), code 0 (ABS_X), value 6636
Event: time 1614084833.992634, type 3 (EV_ABS), code 1 (ABS_Y), value 16371
Event: time 1614084833.992634, -------------- SYN_REPORT ------------
Event: time 1614084833.998662, type 3 (EV_ABS), code 0 (ABS_X), value 6676
Event: time 1614084833.998662, -------------- SYN_REPORT ------------
Event: time 1614084834.002642, type 3 (EV_ABS), code 0 (ABS_X), value 6717
Event: time 1614084834.002642, type 3 (EV_ABS), code 1 (ABS_Y), value 16347
Event: time 1614084834.002642, -------------- SYN_REPORT ------------
Event: time 1614084834.006638, type 3 (EV_ABS), code 0 (ABS_X), value 6758
Event: time 1614084834.006638, -------------- SYN_REPORT ------------
Event: time 1614084834.012646, type 3 (EV_ABS), code 0 (ABS_X), value 6799
Event: time 1614084834.012646, type 3 (EV_ABS), code 1 (ABS_Y), value 16324
Event: time 1614084834.012646, -------------- SYN_REPORT ------------
Event: time 1614084834.016641, type 3 (EV_ABS), code 0 (ABS_X), value 6839
Event: time 1614084834.016641, -------------- SYN_REPORT ------------
Event: time 1614084834.020643, type 3 (EV_ABS), code 0 (ABS_X), value 6879
Event: time 1614084834.020643, type 3 (EV_ABS), code 1 (ABS_Y), value 16303
Event: time 1614084834.020643, -------------- SYN_REPORT ------------
Event: time 1614084834.024638, type 3 (EV_ABS), code 0 (ABS_X), value 6917
Event: time 1614084834.024638, -------------- SYN_REPORT ------------
Event: time 1614084834.028642, type 3 (EV_ABS), code 0 (ABS_X), value 6951
Event: time 1614084834.028642, -------------- SYN_REPORT ------------
Event: time 1614084834.032641, type 3 (EV_ABS), code 0 (ABS_X), value 6981
Event: time 1614084834.032641, type 3 (EV_ABS), code 1 (ABS_Y), value 16281
Event: time 1614084834.032641, -------------- SYN_REPORT ------------
Event: time 1614084834.036688, type 3 (EV_ABS), code 0 (ABS_X), value 7011
Event: time 1614084834.036688, -------------- SYN_REPORT ------------
Event: time 1614084834.040645, type 3 (EV_ABS), code 0 (ABS_X), value 7033
Event: time 1614084834.040645, -------------- SYN_REPORT ------------
Event: time 1614084834.050704, type 3 (EV_ABS), code 0 (ABS_X), value 7054
Event: time 1614084834.050704, -------------- SYN_REPORT ------------
Event: time 1614084834.054665, type 3 (EV_ABS), code 1 (ABS_Y), value 16260
Event: time 1614084834.054665, -------------- SYN_REPORT ------------
Event: time 1614084834.068650, type 3 (EV_ABS), code 0 (ABS_X), value 7074
Event: time 1614084834.068650, -------------- SYN_REPORT ------------
Event: time 1614084834.076694, type 4 (EV_MSC), code 4 (MSC_SCAN), value d0042
Event: time 1614084834.076694, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1614084834.076694, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 9
Event: time 1614084834.076694, -------------- SYN_REPORT ------------
Event: time 1614084834.080641, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 54
Event: time 1614084834.080641, -------------- SYN_REPORT ------------
Event: time 1614084834.084633, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 118
Event: time 1614084834.084633, -------------- SYN_REPORT ------------
Event: time 1614084834.088650, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 189
Event: time 1614084834.088650, -------------- SYN_REPORT ------------
Event: time 1614084834.092657, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 251
Event: time 1614084834.092657, -------------- SYN_REPORT ------------
Event: time 1614084834.102667, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 228
Event: time 1614084834.102667, -------------- SYN_REPORT ------------
Event: time 1614084834.106639, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 125
Event: time 1614084834.106639, -------------- SYN_REPORT ------------
Event: time 1614084834.110640, type 4 (EV_MSC), code 4 (MSC_SCAN), value d0042
Event: time 1614084834.110640, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
Event: time 1614084834.110640, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 0
Event: time 1614084834.110640, -------------- SYN_REPORT ------------
Event: time 1614084834.124649, type 3 (EV_ABS), code 0 (ABS_X), value 7098
Event: time 1614084834.124649, -------------- SYN_REPORT ------------
Event: time 1614084834.128640, type 3 (EV_ABS), code 1 (ABS_Y), value 16238
Event: time 1614084834.128640, -------------- SYN_REPORT ------------
Event: time 1614084834.132641, type 3 (EV_ABS), code 0 (ABS_X), value 7124
Event: time 1614084834.132641, type 3 (EV_ABS), code 1 (ABS_Y), value 16207
Event: time 1614084834.132641, -------------- SYN_REPORT ------------
Event: time 1614084834.136642, type 3 (EV_ABS), code 0 (ABS_X), value 7144
Event: time 1614084834.136642, type 3 (EV_ABS), code 1 (ABS_Y), value 16173
Event: time 1614084834.136642, -------------- SYN_REPORT ------------
Event: time 1614084834.140640, type 3 (EV_ABS), code 0 (ABS_X), value 7165
Event: time 1614084834.140640, type 3 (EV_ABS), code 1 (ABS_Y), value 16133
Event: time 1614084834.140640, -------------- SYN_REPORT ------------
Event: time 1614084834.144642, type 3 (EV_ABS), code 0 (ABS_X), value 7189
Event: time 1614084834.144642, type 3 (EV_ABS), code 1 (ABS_Y), value 16086
Event: time 1614084834.144642, -------------- SYN_REPORT ------------
Event: time 1614084834.148641, type 3 (EV_ABS), code 0 (ABS_X), value 7216
Event: time 1614084834.148641, type 3 (EV_ABS), code 1 (ABS_Y), value 16034
Event: time 1614084834.148641, -------------- SYN_REPORT ------------
Event: time 1614084834.154641, type 3 (EV_ABS), code 0 (ABS_X), value 7249
Event: time 1614084834.154641, type 3 (EV_ABS), code 1 (ABS_Y), value 15980
Event: time 1614084834.154641, -------------- SYN_REPORT ------------
Event: time 1614084834.158640, type 3 (EV_ABS), code 0 (ABS_X), value 7286
Event: time 1614084834.158640, type 3 (EV_ABS), code 1 (ABS_Y), value 15923
Event: time 1614084834.158640, -------------- SYN_REPORT ------------
Event: time 1614084834.162690, type 3 (EV_ABS), code 0 (ABS_X), value 7323
Event: time 1614084834.162690, type 3 (EV_ABS), code 1 (ABS_Y), value 15866
Event: time 1614084834.162690, -------------- SYN_REPORT ------------
Event: time 1614084834.166670, type 3 (EV_ABS), code 0 (ABS_X), value 7364
Event: time 1614084834.166670, type 3 (EV_ABS), code 1 (ABS_Y), value 15809
Event: time 1614084834.166670, -------------- SYN_REPORT ------------
Event: time 1614084834.170692, type 3 (EV_ABS), code 0 (ABS_X), value 7409
Event: time 1614084834.170692, type 3 (EV_ABS), code 1 (ABS_Y), value 15750
Event: time 1614084834.170692, -------------- SYN_REPORT ------------
Event: time 1614084834.174648, type 3 (EV_ABS), code 0 (ABS_X), value 7454
Event: time 1614084834.174648, type 3 (EV_ABS), code 1 (ABS_Y), value 15695
Event: time 1614084834.174648, -------------- SYN_REPORT ------------
Event: time 1614084834.178636, type 3 (EV_ABS), code 0 (ABS_X), value 7499
Event: time 1614084834.178636, type 3 (EV_ABS), code 1 (ABS_Y), value 15644
Event: time 1614084834.178636, -------------- SYN_REPORT ------------
Event: time 1614084834.182637, type 3 (EV_ABS), code 0 (ABS_X), value 7539
Event: time 1614084834.182637, type 3 (EV_ABS), code 1 (ABS_Y), value 15594
Event: time 1614084834.182637, -------------- SYN_REPORT ------------
Event: time 1614084834.188657, type 3 (EV_ABS), code 0 (ABS_X), value 7579
Event: time 1614084834.188657, type 3 (EV_ABS), code 1 (ABS_Y), value 15548
Event: time 1614084834.188657, -------------- SYN_REPORT ------------
Event: time 1614084834.194642, type 3 (EV_ABS), code 0 (ABS_X), value 7615
Event: time 1614084834.194642, type 3 (EV_ABS), code 1 (ABS_Y), value 15506
Event: time 1614084834.194642, -------------- SYN_REPORT ------------
Event: time 1614084834.198638, type 3 (EV_ABS), code 0 (ABS_X), value 7645
Event: time 1614084834.198638, type 3 (EV_ABS), code 1 (ABS_Y), value 15472
Event: time 1614084834.198638, -------------- SYN_REPORT ------------
Event: time 1614084834.202641, type 3 (EV_ABS), code 1 (ABS_Y), value 15443
Event: time 1614084834.202641, -------------- SYN_REPORT ------------
Event: time 1614084834.206653, type 3 (EV_ABS), code 0 (ABS_X), value 7670
Event: time 1614084834.206653, type 3 (EV_ABS), code 1 (ABS_Y), value 15415
Event: time 1614084834.206653, -------------- SYN_REPORT ------------
Event: time 1614084834.210641, type 3 (EV_ABS), code 1 (ABS_Y), value 15394
Event: time 1614084834.210641, -------------- SYN_REPORT ------------
Event: time 1614084834.218635, type 3 (EV_ABS), code 1 (ABS_Y), value 15371
Event: time 1614084834.218635, -------------- SYN_REPORT ------------
Event: time 1614084834.226631, type 1 (EV_KEY), code 320 (BTN_TOOL_PEN), value 0
Event: time 1614084834.226631, -------------- SYN_REPORT ------------
Event: time 1614084834.384645, type 1 (EV_KEY), code 320 (BTN_TOOL_PEN), value 1
Event: time 1614084834.384645, type 3 (EV_ABS), code 0 (ABS_X), value 6948
Event: time 1614084834.384645, type 3 (EV_ABS), code 1 (ABS_Y), value 16508
Event: time 1614084834.384645, -------------- SYN_REPORT ------------
Event: time 1614084834.388636, type 3 (EV_ABS), code 0 (ABS_X), value 6927
Event: time 1614084834.388636, -------------- SYN_REPORT ------------
Event: time 1614084834.396651, type 3 (EV_ABS), code 0 (ABS_X), value 6898
Event: time 1614084834.396651, type 3 (EV_ABS), code 1 (ABS_Y), value 16528
CarlosEkisde commented 3 years ago

I don't know if it's related but when running sudo evtest two devices called 10 inch PenTablet appear as event5 and event6. event5 is the one which produces that output

sezanzeb commented 3 years ago

There usually multiple of those yes.

forwarded:

Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 320 (BTN_TOOL_PEN)
    Event code 330 (BTN_TOUCH)
    Event code 331 (BTN_STYLUS)
  Event type 3 (EV_ABS)
    Event code 0 (ABS_X)
      Value  29831
      Min        0
      Max    50794
    Event code 1 (ABS_Y)
      Value  18350
      Min        0
      Max    30474
    Event code 24 (ABS_PRESSURE)
      Value      0
      Min        0
      Max     8191
    Event code 26 (ABS_TILT_X)
      Value      0
      Min     -127
      Max      127
    Event code 27 (ABS_TILT_Y)
      Value      0
      Min     -127
      Max      127
  Event type 4 (EV_MSC)
    Event code 4 (MSC_SCAN)
  Event type 21 (EV_FF)

original:

  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 320 (BTN_TOOL_PEN)
    Event code 330 (BTN_TOUCH)
    Event code 331 (BTN_STYLUS)
  Event type 3 (EV_ABS)
    Event code 0 (ABS_X)
      Value  16416
      Min        0
      Max    50794
      Resolution     200
    Event code 1 (ABS_Y)
      Value  15319
      Min        0
      Max    30474
      Resolution     200
    Event code 24 (ABS_PRESSURE)
      Value      0
      Min        0
      Max     8191
    Event code 26 (ABS_TILT_X)
      Value      0
      Min     -127
      Max      127
    Event code 27 (ABS_TILT_Y)
      Value      0
      Min     -127
      Max      127
  Event type 4 (EV_MSC)
    Event code 4 (MSC_SCAN)

I'll check later if I can prevent the EV_FF capability somehow, maybe that makes a difference. key-mappers code doesn't insert this capability, I don't know where it comes from. I actually remove that one already but it still appears: https://github.com/sezanzeb/key-mapper/blob/main/keymapper/injection/injector.py#L211

I'll also check if that capability prevents my own tablet from working when I'm at the computer later.

sezanzeb commented 3 years ago

EV_FF is also present with my tablet, and I'm able to move the cursor freely. Is there any tablet driver software installed that might do funny stuff?

I'm at my wits end, you could try a different distribution with a different desktop environment. I'm running manjaro with xfce4.

CarlosEkisde commented 3 years ago

I installed this https://github.com/DIGImend/digimend-kernel-drivers but it's removed right now. I'm going to try on a clean installation anyway and other combinations of distro/DE and I'll tell you.

sezanzeb commented 3 years ago

try the "meta" branch please https://github.com/sezanzeb/key-mapper/tree/meta

CarlosEkisde commented 3 years ago

Hi, when I try to apply a profile it appears an error message on the GUI, "Failed to apply profile " It happened the same with a mouse. It doesn't matter what profile I'm trying to apply.

btw now I needed to install key-mapper through the process described here https://github.com/sezanzeb/key-mapper/issues/85#issuecomment-817352553

sezanzeb commented 3 years ago

thanks for trying. what does the log say? sudo systemctl stop key-mapper && key-mapper-gtk -d?

It's mostly a regular python package and there wasn't any change to that recently. I would be surprised if other packages install correctly, there might be some bug that went into fedora via updates, who knows. We'll have to wait for the rpm packaging.