Skip to content

Issue: GPD Win 4 2022 (6800U) back buttons not working #640

Description

@TigraTT-Driver

Device: GPD Win 4 (AMD 6800U)
OS: Bazzite testing-44.20260805
Version: inputplumber 0.78.8

Description

Since Bazzite switched to inputplumber in its testing branch, the back buttons on my GPD Win 4 are no longer functioning within Steam. While events are generated on button presses tested with libinput, inputplumber seems not to map these regardless of the controller profile selected via OGUI.

When running sudo libinput debug-events, the system identifies the button presses as KEY_F20 (left back button) and KEY_F21 (right back button)

Expected Behavior

Pressing the back buttons should trigger the mapped actions on the emulated controller based on the active controller profile.

Actual Behavior

  • inputplumber does not appear to act on these Button events, resulting in zero input being passed to the emulated controller
  • Steam does not detect any input from the back buttons. The buttons appear unresponsive within the Steam client.

Potential Cause

  • GPDs remapping Software changed the codes: My device has never run Windows, so I have not used GPD’s official remapping software
  • Previous mapping tool in bazzite changed the codes: It is possible that Bazzite’s previous controller mapping software had changed the send codes of the keys. Consequently, inputplumber’s default device profiles may be failing to map the buttons correctly. I cannot confirm what the expected output for inputplumber should be.

Logs / Additional Information

Below is the output from genrall information outputs regarding the device including libinput debug-events showing the expected events:

player1@bazzite-gpd4:~$ udevadm info -a /sys/class/dmi/id
 
Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.
 
  looking at device '/devices/virtual/dmi/id':
    KERNEL=="id"
    SUBSYSTEM=="dmi"
    DRIVER==""
    ATTR{bios_date}=="06/06/2023"
    ATTR{bios_release}=="5.24"
    ATTR{bios_vendor}=="American Megatrends International, LLC."
    ATTR{bios_version}=="3.06"
    ATTR{board_asset_tag}=="Default string"
    ATTR{board_name}=="G1618-04"
    ATTR{board_serial}=="(not readable)"
    ATTR{board_vendor}=="GPD"
    ATTR{board_version}=="Default string"
    ATTR{chassis_asset_tag}=="Default string"
    ATTR{chassis_serial}=="(not readable)"
    ATTR{chassis_type}=="30"
    ATTR{chassis_vendor}=="Default string"
    ATTR{chassis_version}=="Default string"
    ATTR{ec_firmware_release}=="8.0"
    ATTR{power/control}=="auto"
    ATTR{power/runtime_active_time}=="0"
    ATTR{power/runtime_status}=="unsupported"
    ATTR{power/runtime_suspended_time}=="0"
    ATTR{product_family}=="Default string"
    ATTR{product_name}=="G1618-04"
    ATTR{product_serial}=="Default string"
    ATTR{product_sku}=="Default string"
    ATTR{product_uuid}=="(not readable)"
    ATTR{product_version}=="Default string"
    ATTR{sys_vendor}=="GPD"
player1@bazzite-gpd4:~$ cat /proc/bus/input/devices
I: Bus=0019 Vendor=0000 Product=0001 Version=0000
N: Name="Power Button"
P: Phys=PNP0C0C/button/input0
S: Sysfs=/devices/platform/PNP0C0C:00/input/input0
U: Uniq=
H: Handlers=kbd event0
B: PROP=0
B: EV=3
B: KEY=8000 10000000000000 0
 
I: Bus=0019 Vendor=0000 Product=0001 Version=0000
N: Name="Power Button"
P: Phys=LNXPWRBN/button/input0
S: Sysfs=/devices/platform/LNXPWRBN:00/input/input1
U: Uniq=
H: Handlers=kbd event1
B: PROP=0
B: EV=3
B: KEY=8000 10000000000000 0
 
I: Bus=0011 Vendor=0001 Product=0001 Version=ab83
N: Name="AT Translated Set 2 keyboard"
P: Phys=isa0060/serio0/input0
S: Sysfs=/devices/platform/i8042/serio0/input/input2
U: Uniq=
H: Handlers=sysrq kbd leds event2
B: PROP=0
B: EV=120013
B: KEY=402000007 ff803078f800d001 feffffdfffcfffff fffffffffffffffe
B: MSC=10
B: LED=7
 
I: Bus=0003 Vendor=258a Product=000c Version=0110
N: Name="HAILUCK CO.,LTD USB KEYBOARD"
P: Phys=usb-0000:73:00.3-3/input0
S: Sysfs=/devices/pci0000:00/0000:00:08.1/0000:73:00.3/usb1/1-3/1-3:1.0/0003:258A:000C.0001/input/input3
U: Uniq=
H: Handlers=sysrq kbd leds event3
B: PROP=0
B: EV=120013
B: KEY=1000000000007 ff9f207ac14057ff febeffdfffefffff fffffffffffffffe
B: MSC=10
B: LED=7
 
I: Bus=0003 Vendor=258a Product=000c Version=0110
N: Name="HAILUCK CO.,LTD USB KEYBOARD Mouse"
P: Phys=usb-0000:73:00.3-3/input1
S: Sysfs=/devices/pci0000:00/0000:00:08.1/0000:73:00.3/usb1/1-3/1-3:1.1/0003:258A:000C.0002/input/input4
U: Uniq=
H: Handlers=mouse0 event4
B: PROP=0
B: EV=17
B: KEY=70000 0 0 0 0
B: REL=903
B: MSC=10
 
I: Bus=0003 Vendor=258a Product=000c Version=0110
N: Name="HAILUCK CO.,LTD USB KEYBOARD System Control"
P: Phys=usb-0000:73:00.3-3/input1
S: Sysfs=/devices/pci0000:00/0000:00:08.1/0000:73:00.3/usb1/1-3/1-3:1.1/0003:258A:000C.0002/input/input5
U: Uniq=
H: Handlers=kbd event5
B: PROP=0
B: EV=13
B: KEY=c000 10000000000000 0
B: MSC=10
 
I: Bus=0003 Vendor=258a Product=000c Version=0110
N: Name="HAILUCK CO.,LTD USB KEYBOARD Consumer Control"
P: Phys=usb-0000:73:00.3-3/input1
S: Sysfs=/devices/pci0000:00/0000:00:08.1/0000:73:00.3/usb1/1-3/1-3:1.1/0003:258A:000C.0002/input/input6
U: Uniq=
H: Handlers=kbd event6
B: PROP=0
B: EV=13
B: KEY=28000000000 0 0 1000302000000 3878d8011001 e000000000000 0
B: MSC=10
 
I: Bus=0003 Vendor=258a Product=000c Version=0110
N: Name="HAILUCK CO.,LTD USB KEYBOARD Wireless Radio Control"
P: Phys=usb-0000:73:00.3-3/input1
S: Sysfs=/devices/pci0000:00/0000:00:08.1/0000:73:00.3/usb1/1-3/1-3:1.1/0003:258A:000C.0002/input/input7
U: Uniq=
H: Handlers=kbd event7 rfkill
B: PROP=0
B: EV=13
B: KEY=80000000000000 0 0 0
B: MSC=10
 
I: Bus=0019 Vendor=0000 Product=0006 Version=0000
N: Name="Video Bus"
P: Phys=LNXVIDEO/video/input0
S: Sysfs=/devices/pci0000:00/0000:00:08.1/acpi.video_bus.0/input/input8
U: Uniq=
H: Handlers=kbd event8
B: PROP=0
B: EV=3
B: KEY=3e000b00000000 0 0 0
 
I: Bus=0003 Vendor=2f24 Product=0135 Version=0110
N: Name="  Mouse for Windows"
P: Phys=usb-0000:73:00.3-4.2/input0
S: Sysfs=/devices/pci0000:00/0000:00:08.1/0000:73:00.3/usb1/1-4/1-4.2/1-4.2:1.0/0003:2F24:0135.0003/input/input9
U: Uniq=
H: Handlers=mouse1 event9
B: PROP=0
B: EV=17
B: KEY=1f0000 0 0 0 0
B: REL=903
B: MSC=10
 
I: Bus=0003 Vendor=2f24 Product=0135 Version=0110
N: Name="  Mouse for Windows"
P: Phys=usb-0000:73:00.3-4.2/input1
S: Sysfs=/devices/pci0000:00/0000:00:08.1/0000:73:00.3/usb1/1-4/1-4.2/1-4.2:1.1/0003:2F24:0135.0004/input/input10
U: Uniq=
H: Handlers=sysrq kbd leds event10
B: PROP=0
B: EV=120013
B: KEY=1000000000007 ff9f207ac14057ff febeffdfffefffff fffffffffffffffe
B: MSC=10
B: LED=7
 
I: Bus=0018 Vendor=0416 Product=038f Version=1060
N: Name="Goodix Capacitive TouchScreen"
P: Phys=input/ts
S: Sysfs=/devices/platform/AMDI0010:03/i2c-2/i2c-GDIX1002:00/input/input11
U: Uniq=
H: Handlers=kbd mouse2 event11
B: PROP=2
B: EV=b
B: KEY=400 0 0 0 2000000000000001 f800000000000000
B: ABS=265800000000003
 
I: Bus=0010 Vendor=001f Product=0001 Version=0100
N: Name="PC Speaker"
P: Phys=isa0061/input0
S: Sysfs=/devices/platform/pcspkr/input/input13
U: Uniq=
H: Handlers=kbd event12
B: PROP=0
B: EV=40001
B: SND=6
 
I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HD-Audio Generic HDMI/DP,pcm=3"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:08.1/0000:73:00.1/sound/card0/input14
U: Uniq=
H: Handlers=event13
B: PROP=0
B: EV=21
B: SW=140
 
I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HD-Audio Generic HDMI/DP,pcm=7"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:08.1/0000:73:00.1/sound/card0/input15
U: Uniq=
H: Handlers=event14
B: PROP=0
B: EV=21
B: SW=140
 
I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HD-Audio Generic HDMI/DP,pcm=8"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:08.1/0000:73:00.1/sound/card0/input16
U: Uniq=
H: Handlers=event15
B: PROP=0
B: EV=21
B: SW=140
 
I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HD-Audio Generic HDMI/DP,pcm=9"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:08.1/0000:73:00.1/sound/card0/input17
U: Uniq=
H: Handlers=event16
B: PROP=0
B: EV=21
B: SW=140
 
I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HD-Audio Generic Mic"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:08.1/0000:73:00.6/sound/card1/input18
U: Uniq=
H: Handlers=event17
B: PROP=0
B: EV=21
B: SW=10
 
I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="HD-Audio Generic Front Headphone"
P: Phys=ALSA
S: Sysfs=/devices/pci0000:00/0000:00:08.1/0000:73:00.6/sound/card1/input19
U: Uniq=
H: Handlers=event18
B: PROP=0
B: EV=21
B: SW=4
 
I: Bus=0003 Vendor=1234 Product=5678 Version=0111
N: Name="InputPlumber Keyboard"
P: Phys=
S: Sysfs=/devices/virtual/input/input20
U: Uniq=
H: Handlers=sysrq kbd event19
B: PROP=0
B: EV=3
B: KEY=300000c07 ff9f207ac07057ff fabeffdfffefffff fffffffffffffffe
 
I: Bus=0003 Vendor=0000 Product=ffff Version=0001
N: Name="InputPlumber Mouse"
P: Phys=
S: Sysfs=/devices/virtual/input/input21
U: Uniq=
H: Handlers=mouse3 event20
B: PROP=0
B: EV=7
B: KEY=1f0000 0 0 0 0
B: REL=143
 
I: Bus=0006 Vendor=28de Product=0000 Version=0000
N: Name="steamos-manager"
P: Phys=
S: Sysfs=/devices/virtual/input/input23
U: Uniq=
H: Handlers=kbd event21
B: PROP=0
B: EV=3
B: KEY=568000000000 4040860000000
 
I: Bus=0003 Vendor=0f0d Product=01ab Version=0111
N: Name="HORI CO.,LTD. HORIPAD STEAM"
P: Phys=
S: Sysfs=/devices/virtual/misc/uhid/0003:0F0D:01AB.0007/input/input24
U: Uniq=
H: Handlers=event22 js0
B: PROP=0
B: EV=1b
B: KEY=f 0 0 0 0 0 0 ffff000000000000 0 0 0 0
B: ABS=30627
B: MSC=10
 
I: Bus=0003 Vendor=28de Product=11ff Version=0001
N: Name="Microsoft X-Box 360 pad 0"
P: Phys=
S: Sysfs=/devices/virtual/input/input26
U: Uniq=
H: Handlers=event23 js1
B: PROP=0
B: EV=20000b
B: KEY=7cdb000000000000 0 0 0 0
B: ABS=3003f
B: FF=10000 0
 
I: Bus=0003 Vendor=045e Product=028e Version=0101
N: Name="Microsoft X-Box 360 pad"
P: Phys=usb-0000:73:00.3-4.1/input0
S: Sysfs=/devices/pci0000:00/0000:00:08.1/0000:73:00.3/usb1/1-4/1-4.1/1-4.1:1.0/input/input27
U: Uniq=
H: Handlers=event24 js2
B: PROP=0
B: EV=20000b
B: KEY=7cdb000000000000 0 0 0 0
B: ABS=3003f
B: FF=107030000 0
player1@bazzite-gpd4:~$ cat /sys/bus/iio/devices/*/name
bmi260
player1@bazzite-gpd4:~$ sudo libinput debug-events
-event3   DEVICE_ADDED                 HAILUCK CO.,LTD USB KEYBOARD      seat0 default group1  cap:k
-event4   DEVICE_ADDED                 HAILUCK CO.,LTD USB KEYBOARD Mouse seat0 default group1  cap:p left scroll-nat scroll-button
-event5   DEVICE_ADDED                 HAILUCK CO.,LTD USB KEYBOARD System Control seat0 default group1  cap:k
-event6   DEVICE_ADDED                 HAILUCK CO.,LTD USB KEYBOARD Consumer Control seat0 default group1  cap:k
-event7   DEVICE_ADDED                 HAILUCK CO.,LTD USB KEYBOARD Wireless Radio Control seat0 default group1  cap:k
-event9   DEVICE_ADDED                   Mouse for Windows               seat0 default group2  cap:p left scroll-nat scroll-button
-event10  DEVICE_ADDED                   Mouse for Windows               seat0 default group2  cap:k
-event8   DEVICE_ADDED                 Video Bus                         seat0 default group3  cap:k
-event11  DEVICE_ADDED                 Goodix Capacitive TouchScreen     seat0 default group4  cap:kt ntouches 5 calib
-event1   DEVICE_ADDED                 Power Button                      seat0 default group5  cap:k
-event0   DEVICE_ADDED                 Power Button                      seat0 default group6  cap:k
-event2   DEVICE_ADDED                 AT Translated Set 2 keyboard      seat0 default group7  cap:k
-event19  DEVICE_ADDED                 InputPlumber Keyboard             seat0 default group8  cap:k
-event20  DEVICE_ADDED                 InputPlumber Mouse                seat0 default group9  cap:p left scroll-nat scroll-button
-event21  DEVICE_ADDED                 steamos-manager                   seat0 default group10 cap:k
-event19  KEYBOARD_KEY                 +0.000s  KEY_F20 (190) pressed
 event19  KEYBOARD_KEY                 +0.024s  KEY_F20 (190) released
 event19  KEYBOARD_KEY                 +0.039s  KEY_F20 (190) pressed
 event19  KEYBOARD_KEY                 +0.063s  KEY_F20 (190) released
 event19  KEYBOARD_KEY                 +0.078s  KEY_F20 (190) pressed
 event19  KEYBOARD_KEY                 +0.104s  KEY_F20 (190) released
 event19  KEYBOARD_KEY                 +0.120s  KEY_F20 (190) pressed
 event19  KEYBOARD_KEY                 +0.143s  KEY_F20 (190) released
 event19  KEYBOARD_KEY                 +0.164s  KEY_F20 (190) pressed
 event19  KEYBOARD_KEY                 +0.188s  KEY_F20 (190) released
 event19  KEYBOARD_KEY                 +0.203s  KEY_F20 (190) pressed
 event19  KEYBOARD_KEY                 +0.226s  KEY_F20 (190) released
 event19  KEYBOARD_KEY                 +3.499s  KEY_F21 (191) pressed
 event19  KEYBOARD_KEY                 +3.523s  KEY_F21 (191) released
 event19  KEYBOARD_KEY                 +3.541s  KEY_F21 (191) pressed
 event19  KEYBOARD_KEY                 +3.564s  KEY_F21 (191) released
 event19  KEYBOARD_KEY                 +3.579s  KEY_F21 (191) pressed
 event19  KEYBOARD_KEY                 +3.603s  KEY_F21 (191) released
 event19  KEYBOARD_KEY                 +3.621s  KEY_F21 (191) pressed
 event19  KEYBOARD_KEY                 +3.644s  KEY_F21 (191) released
 event19  KEYBOARD_KEY                 +3.662s  KEY_F21 (191) pressed
 event19  KEYBOARD_KEY                 +3.688s  KEY_F21 (191) released
 event19  KEYBOARD_KEY                 +3.704s  KEY_F21 (191) pressed
 event19  KEYBOARD_KEY                 +3.727s  KEY_F21 (191) released
 event19  KEYBOARD_KEY                 +3.743s  KEY_F21 (191) pressed
 event19  KEYBOARD_KEY                 +3.767s  KEY_F21 (191) released
 event19  KEYBOARD_KEY                 +3.785s  KEY_F21 (191) pressed
 event19  KEYBOARD_KEY                 +3.808s  KEY_F21 (191) released

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions