sezanzeb / input-remapper

๐ŸŽฎ โŒจ An easy to use tool to change the behaviour of your input devices.
GNU General Public License v3.0
3.7k stars 152 forks source link

Asymetric Axis are not properly supported #572

Open adam-kulagowski opened 1 year ago

adam-kulagowski commented 1 year ago

Hi,

I'm unable to get working horizontal strip in HUION tablet HS611 (mostly used for zooming in-out).

Tablet-graficzny-HUION-HS611-Szary-front

It seems that strip reports absolute position of a finger (instead of direction in which finger is moving) and that position is being captured on evtest. However input-remapper always shows ABS Wheel UP event.

Am I missing something?

I'm attaching logs of moving finger from left to right and back using evtest and input-remmapper. If more data is needed please let me know.

Share some logs please:

  1. input-remapper-control --version

input-remapper 1.5.0 be33bbd8376792c629a6279a60c9eeefa6bcf071 https://github.com/sezanzeb/input-remapper python-evdev 1.6.0

  1. If a button on your device doesn't show up in the GUI, verify that the button is reporting an event via sudo evtest. If not, input-remapper won't be able to map that button.

From left to right:

Event: time 1670339259.337967, type 3 (EV_ABS), code 40 (ABS_MISC), value 15
Event: time 1670339259.337967, -------------- SYN_REPORT ------------
Event: time 1670339259.643635, type 3 (EV_ABS), code 8 (ABS_WHEEL), value 1
Event: time 1670339259.643635, -------------- SYN_REPORT ------------
Event: time 1670339259.840030, type 3 (EV_ABS), code 8 (ABS_WHEEL), value 2
Event: time 1670339259.840030, -------------- SYN_REPORT ------------
Event: time 1670339260.035890, type 3 (EV_ABS), code 8 (ABS_WHEEL), value 3
Event: time 1670339260.035890, -------------- SYN_REPORT ------------
Event: time 1670339260.227890, type 3 (EV_ABS), code 8 (ABS_WHEEL), value 4
Event: time 1670339260.227890, -------------- SYN_REPORT ------------
Event: time 1670339260.423898, type 3 (EV_ABS), code 8 (ABS_WHEEL), value 5
Event: time 1670339260.423898, -------------- SYN_REPORT ------------
Event: time 1670339260.575647, type 3 (EV_ABS), code 8 (ABS_WHEEL), value 6
Event: time 1670339260.575647, -------------- SYN_REPORT ------------
Event: time 1670339260.771967, type 3 (EV_ABS), code 8 (ABS_WHEEL), value 7
Event: time 1670339260.771967, -------------- SYN_REPORT ------------
Event: time 1670339261.029875, type 3 (EV_ABS), code 40 (ABS_MISC), value 0
Event: time 1670339261.029875, type 3 (EV_ABS), code 8 (ABS_WHEEL), value 0
Event: time 1670339261.029875, -------------- SYN_REPORT ------------

From right to left:

Event: time 1670339264.959683, type 3 (EV_ABS), code 40 (ABS_MISC), value 15
Event: time 1670339264.959683, type 3 (EV_ABS), code 8 (ABS_WHEEL), value 7
Event: time 1670339264.959683, -------------- SYN_REPORT ------------
Event: time 1670339265.197677, type 3 (EV_ABS), code 8 (ABS_WHEEL), value 6
Event: time 1670339265.197677, -------------- SYN_REPORT ------------
Event: time 1670339265.389915, type 3 (EV_ABS), code 8 (ABS_WHEEL), value 5
Event: time 1670339265.389915, -------------- SYN_REPORT ------------
Event: time 1670339265.619930, type 3 (EV_ABS), code 8 (ABS_WHEEL), value 4
Event: time 1670339265.619930, -------------- SYN_REPORT ------------
Event: time 1670339265.853694, type 3 (EV_ABS), code 8 (ABS_WHEEL), value 3
Event: time 1670339265.853694, -------------- SYN_REPORT ------------
Event: time 1670339266.131933, type 3 (EV_ABS), code 8 (ABS_WHEEL), value 2
Event: time 1670339266.131933, -------------- SYN_REPORT ------------
Event: time 1670339266.369924, type 3 (EV_ABS), code 8 (ABS_WHEEL), value 1
Event: time 1670339266.369924, -------------- SYN_REPORT ------------
Event: time 1670339266.607978, type 3 (EV_ABS), code 8 (ABS_WHEEL), value 0
Event: time 1670339266.607978, -------------- SYN_REPORT ------------
Event: time 1670339266.727907, type 3 (EV_ABS), code 40 (ABS_MISC), value 0
Event: time 1670339266.727907, -------------- SYN_REPORT ------------
  1. If yes, please run input-remapper-gtk -d, reproduce the problem and then share the logs.
    fidor@Wall-E:~/github/input-remapper$ input-remapper-gtk -d
    16:08:55.552021 311493 GUI INFO logger.py:225: input-remapper-gtk 1.5.0 be33bbd8376792c629a6279a60c9eeefa6bcf071 https://github.com/sezanzeb/input-remapper
    16:08:55.552110 311493 GUI INFO logger.py:233: python-evdev 1.6.0
    16:08:55.552144 311493 GUI WARNING logger.py:236: 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!
    16:08:55.552179 311493 GUI DEBUG input-remapper-gtk:55: Using locale directory: /usr/share/input-remapper/lang
    16:08:55.555285 311493 GUI DEBUG pipe.py:61: Creating new pipe for "/tmp/input-remapper-fidor/results"
    16:08:55.555655 311493 GUI DEBUG pipe.py:61: Creating new pipe for "/tmp/input-remapper-fidor/commands"
    16:08:55.564117 311493 GUI INFO global_config.py:104: Loaded config from "/home/fidor/.config/input-remapper/config.json"
    16:08:55.569211 311493 GUI INFO daemon.py:198: Connected to the service
    16:08:55.569432 311493 GUI DEBUG daemon.py:234: Telling service about "/home/fidor/.config/input-remapper"
    16:08:55.571883 311493 GUI DEBUG user_interface.py:245: Running `pkexec input-remapper-control --command helper  -d`
    16:08:58.112508 311497 Control DEBUG input-remapper-control:230: Call for "['/usr/bin/input-remapper-control', '--command', 'helper', '-d']"
    16:08:58.122789 311497 Control DEBUG input-remapper-control:212: Booting finished
    16:08:58.124196 311497 Control INFO input-remapper-control:260: Done
    16:08:58.158004 311493 GUI DEBUG global_uinputs.py:79: creating fake UInput device: 'input-remapper keyboard'
    16:08:58.158084 311493 GUI DEBUG global_uinputs.py:79: creating fake UInput device: 'input-remapper gamepad'
    16:08:58.158116 311493 GUI DEBUG global_uinputs.py:79: creating fake UInput device: 'input-remapper mouse'
    16:08:58.158140 311493 GUI DEBUG global_uinputs.py:79: creating fake UInput device: 'input-remapper keyboard + mouse'
    16:08:58.264326 311505 GUI-Helper DEBUG pipe.py:78: Using existing pipe for "/tmp/input-remapper-fidor/results"
    16:08:58.264467 311505 GUI-Helper DEBUG pipe.py:78: Using existing pipe for "/tmp/input-remapper-fidor/commands"
    16:08:58.264542 311505 GUI-Helper DEBUG helper.py:109: Sending groups
    16:08:58.265811 311505 GUI-Helper DEBUG groups.py:336: Discovering device paths
    16:08:58.267054 311505 GUI-Helper DEBUG groups.py:377: Found "3_9580_109_usb-0000:07:00.3-1.3.3.2.4", "/dev/input/event259", "HUION Huion Tablet_HS611 Consumer Control", type: unknown
    16:08:58.297895 311505 GUI-Helper DEBUG groups.py:377: Found "3_9580_109_usb-0000:07:00.3-1.3.3.2.4", "/dev/input/event258", "HUION Huion Tablet_HS611 Keyboard", type: keyboard
    16:08:58.329531 311505 GUI-Helper DEBUG groups.py:377: Found "3_9580_109_usb-0000:07:00.3-1.3.3.2.4", "/dev/input/event23", "HUION Huion Tablet_HS611 Dial", type: unknown
    16:08:58.337147 311493 GUI DEBUG groups.py:336: Discovering device paths
    16:08:58.338472 311493 GUI DEBUG groups.py:445: Did not find any input device
    16:08:58.361577 311505 GUI-Helper DEBUG groups.py:377: Found "3_9580_109_usb-0000:07:00.3-1.3.3.2.4", "/dev/input/event22", "HUION Huion Tablet_HS611 Touch Strip", type: unknown
    16:08:58.397567 311505 GUI-Helper DEBUG groups.py:377: Found "3_9580_109_usb-0000:07:00.3-1.3.3.2.4", "/dev/input/event21", "HUION Huion Tablet_HS611 Pad", type: graphics-tablet
    16:08:58.425547 311505 GUI-Helper DEBUG groups.py:377: Found "3_9580_109_usb-0000:07:00.3-1.3.3.2.4", "/dev/input/event10", "HUION Huion Tablet_HS611", type: graphics-tablet
    16:08:58.525862 311505 GUI-Helper DEBUG groups.py:377: Found "3_3141_30269_usb-0000:07:00.3-1.3.3.3.2", "/dev/input/event19", "SONiX USB DEVICE Wireless Radio Control", type: unknown
    16:08:58.545748 311505 GUI-Helper DEBUG groups.py:377: Found "3_3141_30269_usb-0000:07:00.3-1.3.3.3.2", "/dev/input/event18", "SONiX USB DEVICE Keyboard", type: keyboard
    16:08:58.577682 311505 GUI-Helper DEBUG groups.py:377: Found "3_3141_30269_usb-0000:07:00.3-1.3.3.3.2", "/dev/input/event11", "SONiX USB DEVICE", type: keyboard
    16:08:58.609864 311505 GUI-Helper DEBUG groups.py:377: Found "3_6940_6997_-", "/dev/input/event9", "ckb1: CORSAIR K70 RGB MK.2 LOW PROFILE Mechanical Gaming vM", type: mouse
    16:08:58.641979 311505 GUI-Helper DEBUG groups.py:377: Found "3_6940_6997_-", "/dev/input/event8", "ckb1: CORSAIR K70 RGB MK.2 LOW PROFILE Mechanical Gaming vKB", type: keyboard
    16:08:58.961783 311505 GUI-Helper DEBUG groups.py:377: Found "25_6058_20564_thinkpad_acpi", "/dev/input/event25", "ThinkPad Extra Buttons", type: unknown
    16:08:58.981592 311505 GUI-Helper DEBUG groups.py:377: Found "3_1054_12900_usb-0000:07:00.3-1.3.3.3.3", "/dev/input/event24", "Creative Technology Ltd Sound Blaster X3", type: unknown
    16:08:59.010061 311505 GUI-Helper DEBUG groups.py:377: Found "3_1133_49291_usb-0000:07:00.3-1.3.3.2.3", "/dev/input/event17", "Logitech G502 HERO Gaming Mouse Keyboard", type: keyboard
    16:08:59.037835 311505 GUI-Helper DEBUG groups.py:377: Found "3_1133_49291_usb-0000:07:00.3-1.3.3.2.3", "/dev/input/event16", "Logitech G502 HERO Gaming Mouse", type: mouse
    16:08:59.069936 311505 GUI-Helper DEBUG groups.py:377: Found "3_5426_555_usb-0000:07:00.3-1.3.3.3.1", "/dev/input/event15", "Razer Razer Tartarus V2", type: mouse
    16:08:59.157960 311505 GUI-Helper DEBUG groups.py:377: Found "3_5426_555_usb-0000:07:00.3-1.3.3.3.1", "/dev/input/event13", "Razer Razer Tartarus V2 Keyboard", type: keyboard
    16:08:59.177753 311505 GUI-Helper DEBUG groups.py:377: Found "3_5426_555_usb-0000:07:00.3-1.3.3.3.1", "/dev/input/event12", "Razer Razer Tartarus V2", type: keyboard
    16:08:59.209673 311505 GUI-Helper DEBUG groups.py:377: Found "17_2_10_synaptics-pt", "/dev/input/event7", "TPPS/2 Elan TrackPoint", type: unknown
    16:08:59.233634 311505 GUI-Helper DEBUG groups.py:377: Found "17_2_7_isa0060", "/dev/input/event6", "SynPS/2 Synaptics TouchPad", type: touchpad
    16:08:59.261571 311505 GUI-Helper DEBUG groups.py:377: Found "25_0_6_LNXVIDEO", "/dev/input/event5", "Video Bus", type: unknown
    16:08:59.301725 311505 GUI-Helper DEBUG groups.py:377: Found "17_1_1_isa0060", "/dev/input/event4", "AT Translated Set 2 keyboard", type: keyboard
    16:08:59.365521 311505 GUI-Helper DEBUG groups.py:377: Found "25_0_3_PNP0C0E", "/dev/input/event2", "Sleep Button", type: unknown
    16:08:59.414715 311505 GUI-Helper INFO groups.py:448: Found "HUION Huion Tablet_HS611", "SONiX USB DEVICE", "ckb1: CORSAIR K70 RGB MK.2 LOW PROFILE Mechanical Gaming vM", "ThinkPad Extra Buttons", "Creative Technology Ltd Sound Blaster X3", "Logitech G502 HERO Gaming Mouse", "Razer Razer Tartarus V2", "TPPS/2 Elan TrackPoint", "SynPS/2 Synaptics TouchPad", "Video Bus", "AT Translated Set 2 keyboard", "Sleep Button"
    16:08:59.415238 311505 GUI-Helper DEBUG helper.py:90: Waiting for the first command
    16:08:59.430567 311493 GUI DEBUG reader.py:98: Received 12 devices
    16:08:59.432281 311493 GUI DEBUG preset.py:378: The newest preset is "HUION Huion Tablet_HS611", "huion"
    16:08:59.432522 311493 GUI DEBUG user_interface.py:599: Selecting device "HUION Huion Tablet_HS611"
    16:08:59.432759 311493 GUI DEBUG user_interface.py:383: "HUION Huion Tablet_HS611" presets: "huion"
    16:08:59.433160 311493 GUI DEBUG user_interface.py:713: Selecting preset "huion"
    16:08:59.434334 311493 GUI DEBUG editor.py:321: Disabling the text input
    16:08:59.435487 311493 GUI DEBUG editor.py:321: Disabling the text input
    16:08:59.436457 311493 GUI INFO preset.py:169: Loading preset from "/home/fidor/.config/input-remapper/presets/HUION Huion Tablet_HS611/huion.json"
    16:08:59.436786 311493 GUI DEBUG preset.py:199: <EventCombination (1, 113, 1)> maps to ('XF86AudioMute', 'keyboard')
    16:08:59.436932 311493 GUI DEBUG preset.py:199: <EventCombination (1, 115, 1)> maps to ('XF86AudioRaiseVolume', 'keyboard')
    16:08:59.437057 311493 GUI DEBUG preset.py:199: <EventCombination (1, 114, 1)> maps to ('XF86AudioLowerVolume', 'keyboard')
    16:08:59.437533 311493 GUI DEBUG system_mapping.py:90: Gathering available keycodes
    16:08:59.437651 311493 GUI DEBUG system_mapping.py:90: Gathering available keycodes
    16:08:59.442005 311493 GUI DEBUG system_mapping.py:119: Writing "/home/fidor/.config/input-remapper/xmodmap.json"
    16:08:59.442758 311493 GUI DEBUG system_mapping.py:90: Gathering available keycodes
    16:08:59.448166 311493 GUI DEBUG system_mapping.py:119: Writing "/home/fidor/.config/input-remapper/xmodmap.json"
    16:08:59.461130 311493 GUI DEBUG system_mapping.py:119: Writing "/home/fidor/.config/input-remapper/xmodmap.json"
    16:08:59.463261 311493 GUI DEBUG editor.py:336: Enabling the text input
    16:08:59.463745 311493 GUI DEBUG editor.py:336: Enabling the text input
    16:08:59.463999 311493 GUI DEBUG reader.py:189: Sending start msg to helper for "HUION Huion Tablet_HS611"
    16:08:59.464066 311493 GUI DEBUG reader.py:205: Clearing reader
    16:08:59.464192 311505 GUI-Helper DEBUG helper.py:102: Starting mainloop
    16:08:59.464362 311505 GUI-Helper DEBUG helper.py:116: Received command "HUION Huion Tablet_HS611"
    16:08:59.464466 311505 GUI-Helper DEBUG helper.py:138: No more commands in pipe
    16:08:59.464971 311505 GUI-Helper DEBUG helper.py:173: Starting reading keycodes from "HUION Huion Tablet_HS611 Consumer Control", "HUION Huion Tablet_HS611 Keyboard", "HUION Huion Tablet_HS611 Dial", "HUION Huion Tablet_HS611 Touch Strip", "HUION Huion Tablet_HS611 Pad", "HUION Huion Tablet_HS611"
    16:08:59.567079 311493 GUI DEBUG autocompletion.py:90: get_incomplete_parameter text:  match: None
    16:09:01.100709 311493 GUI DEBUG reader.py:205: Clearing reader
    16:09:04.086027 311493 GUI DEBUG reader.py:161: down ยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยท <InputEvent (3, 8, 1)>
    16:09:04.086319 311493 GUI DEBUG reader.py:181: read result ยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยท <EventCombination (3, 8, 1)>
    16:09:04.086601 311493 GUI DEBUG editor.py:336: Enabling the text input
    16:09:04.086965 311493 GUI DEBUG preset.py:117: changing <EventCombination (3, 8, 1)> to "XF86AudioMute"
    16:09:04.087117 311493 GUI DEBUG preset.py:150: <EventCombination (1, 113, 1)> cleared
    16:09:04.288995 311493 GUI DEBUG reader.py:151: duplicate key down ยทยทยทยทยทยทยทยทยทยทยทยท <InputEvent (3, 8, 1)>
    16:09:05.538695 311493 GUI DEBUG reader.py:146: release ยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยท <InputEvent (3, 8, 0)>
    16:09:05.538989 311493 GUI DEBUG editor.py:674: Recording complete
    16:09:05.539080 311493 GUI DEBUG editor.py:336: Enabling the text input
    16:09:05.540320 311493 GUI INFO preset.py:213: Saving preset to /home/fidor/.config/input-remapper/presets/HUION Huion Tablet_HS611/huion.json
    16:09:05.541011 311493 GUI DEBUG user_interface.py:383: "HUION Huion Tablet_HS611" presets: "huion"
    16:09:10.153716 311493 GUI DEBUG reader.py:161: down ยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยท <InputEvent (3, 8, 1)>
    16:09:10.356029 311493 GUI DEBUG reader.py:151: duplicate key down ยทยทยทยทยทยทยทยทยทยทยทยท <InputEvent (3, 8, 1)>
    16:09:11.262447 311493 GUI DEBUG reader.py:146: release ยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยท <InputEvent (3, 8, 0)>
sezanzeb commented 1 year ago

does it work on the beta version?

adam-kulagowski commented 1 year ago

It's better but to some extent:

I've ended w/ the following configuration:

{
    "3,40,-1+3,8,-1": {
        "target_uinput": "keyboard",
        "output_symbol": "d",
        "mapping_type": "key_macro"
    },
    "3,40,-1+3,8,1": {
        "target_uinput": "keyboard",
        "output_symbol": "u",
        "mapping_type": "key_macro"
    }
}

But now I have different behavior. As soon as I remove my finger from strip, I'm getting letter d constantly.

I've theory that this is caused by HW reporting ABS_WHEEL Value "0" always when I'm raising my finger from the strip. The following sudo evtest shows events when I've touche strip in 3 places:

Event: time 1670422836.029082, type 3 (EV_ABS), code 40 (ABS_MISC), value 15
Event: time 1670422836.029082, type 3 (EV_ABS), code 8 (ABS_WHEEL), value 5
Event: time 1670422836.029082, -------------- SYN_REPORT ------------
Event: time 1670422836.211082, type 3 (EV_ABS), code 40 (ABS_MISC), value 0
Event: time 1670422836.211082, type 3 (EV_ABS), code 8 (ABS_WHEEL), value 0
Event: time 1670422836.211082, -------------- SYN_REPORT ------------

Event: time 1670422841.351118, type 3 (EV_ABS), code 40 (ABS_MISC), value 15
Event: time 1670422841.351118, type 3 (EV_ABS), code 8 (ABS_WHEEL), value 2
Event: time 1670422841.351118, -------------- SYN_REPORT ------------
Event: time 1670422841.501116, type 3 (EV_ABS), code 40 (ABS_MISC), value 0
Event: time 1670422841.501116, type 3 (EV_ABS), code 8 (ABS_WHEEL), value 0
Event: time 1670422841.501116, -------------- SYN_REPORT ------------

Event: time 1670422843.413132, type 3 (EV_ABS), code 40 (ABS_MISC), value 15
Event: time 1670422843.413132, type 3 (EV_ABS), code 8 (ABS_WHEEL), value 4
Event: time 1670422843.413132, -------------- SYN_REPORT ------------
Event: time 1670422843.599133, type 3 (EV_ABS), code 40 (ABS_MISC), value 0
Event: time 1670422843.599133, type 3 (EV_ABS), code 8 (ABS_WHEEL), value 0
Event: time 1670422843.599133, -------------- SYN_REPORT ------------

So there 4 events for each touch: ABS_MISC 15 ABS_WHEEL 5 <- this shows the position. If I move my finger without rising it, there will be more events like this with values in range 1-7 ABS_MISC 0 ABS_WHEEL 0

Is there any way to filter '0' value from acceptable ones by input-remmaper ? Or is there any other way to get it working?

jonasBoss commented 1 year ago

can you post the Supported events section from $evtest? It should look something like this:

``` Input device name: "Sony Interactive Entertainment Wireless Controller Touchpad" Supported events: Event type 0 (EV_SYN) Event type 1 (EV_KEY) Event code 272 (BTN_LEFT) Event code 325 (BTN_TOOL_FINGER) Event code 330 (BTN_TOUCH) Event code 333 (BTN_TOOL_DOUBLETAP) Event type 3 (EV_ABS) Event code 0 (ABS_X) Value 0 Min 0 Max 1919 Event code 1 (ABS_Y) Value 0 Min 0 Max 1079 Event code 47 (ABS_MT_SLOT) Value 0 Min 0 Max 1 Event code 53 (ABS_MT_POSITION_X) Value 0 Min 0 Max 1919 Event code 54 (ABS_MT_POSITION_Y) Value 0 Min 0 Max 1079 Event code 57 (ABS_MT_TRACKING_ID) Value 0 Min 0 Max 65535 Properties: Property type 0 (INPUT_PROP_POINTER) Property type 2 (INPUT_PROP_BUTTONPAD) Testing ... (interrupt to exit) ```
adam-kulagowski commented 1 year ago

Here they are:

Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x256c product 0x6d version 0x111
Input device name: "HUION Huion Tablet_HS611 Touch Strip"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 256 (BTN_0)
  Event type 3 (EV_ABS)
    Event code 0 (ABS_X)
      Value      0
      Min        0
      Max        1
    Event code 1 (ABS_Y)
      Value      0
      Min        0
      Max        1
    Event code 8 (ABS_WHEEL)
      Value      0
      Min        0
      Max        7
      Resolution       3
    Event code 40 (ABS_MISC)
      Value      0
      Min        0
      Max      255
Properties:
Testing ... (interrupt to exit)
Event: time 1670439881.847975, type 3 (EV_ABS), code 40 (ABS_MISC), value 15
Event: time 1670439881.847975, -------------- SYN_REPORT ------------
Event: time 1670439882.542013, type 3 (EV_ABS), code 8 (ABS_WHEEL), value 1
Event: time 1670439882.542013, -------------- SYN_REPORT ------------
Event: time 1670439882.734281, type 3 (EV_ABS), code 8 (ABS_WHEEL), value 2
[...]
jonasBoss commented 1 year ago

That is what I suspected. InputRemapper currently assumes that a ABS_XX axis is always symmetrical. Your device sends

Event: time 1670422841.501116, type 3 (EV_ABS), code 40 (ABS_MISC), value 0
Event: time 1670422841.501116, type 3 (EV_ABS), code 8 (ABS_WHEEL), value 0
Event: time 1670422841.501116, -------------- SYN_REPORT ------------

when you release the strip. This will tell InputRemapper that the ABS_WHEEL axis is all the way to the left. That triggers the mapping to "d".

You can workaround this issue: In the GUI, where you record the input there is a Advanced button that lets you edit the input combination:

jonasBoss commented 1 year ago

To properly solve this we need to introduce a new InputConfig parameter:

A bias (default bias=0) which shifts the axis mid-point. bias=-1 would would shift the "mid-point" all the way to the left. This would also be useful to compensate for stick-drift on controllers.