galliumos-distro icon indicating copy to clipboard operation
galliumos-distro copied to clipboard

Galliumos 3.0 touchpad on HP Chromebook x2

Open rstoecker opened this issue 5 years ago • 8 comments

I am seeing touchpad issues similar to others on an HP Chromebook x2 (stock bios, chrx install). It almost acts like it is a touch screen. I can drag the mouse, but when I lift my finger and put it back down the pointer shifts to approximately correspond to where I put my finger on the touchpad. It sometimes acts like it's locked, scrolling the screen. It also appears that there is no driver installed for it. The pen installed fine, but the only other driver is the Google Inc. Hammer.

rstoecker avatar Sep 09 '19 20:09 rstoecker

I am having exactly the same issue

africlouds avatar Nov 02 '19 21:11 africlouds

Try what I documented here and let me know.

https://github.com/GalliumOS/galliumos-distro/issues/539

bmfesta2009 avatar Nov 27 '19 12:11 bmfesta2009

I am also having this issue on my HP Chromebook x2 with full UEFI firmware. Has anyone found any solutions to this? I tried everything in #539 without any luck.

maccaches avatar Jan 14 '20 04:01 maccaches

@bmfesta2009 I followed #539, in the same boat as the others. I only copied 40* and 50* per your updates, but would be happy to test other sets you may think be worth testing.

alexfornuto avatar Jun 04 '20 06:06 alexfornuto

I think the problem here - specifically with the Chromebook X2 - is that there is no 50-touchpad-cmt-soraka.conf to be found. Running xinput in a terminal shows the touchpad and keyboard both registering with the device name Google Inc. Hammer.

Someone with more knowledge of how firmware/drivers are written and used in GaliumOS could maybe start here: Hammer: Secure Touchpad Firmware

milan-stoj avatar Aug 28 '20 16:08 milan-stoj

  1. The touchpad is seen as a touchscreen as we see in udevadm info /dev/input/eventX. Add the hwdb : /etc/udev/hwdb.d/61-input-id.hwdb with content :
id-input:modalias:input:b0003v18D1p502Be0100-e0,1,3*`
 ID_INPUT_TOUCHPAD=1
  1. I use libinput drivers : add section in /etc/X11/xorg.conf :
Section "InputClass"
   Identifier "libinputEvents"
   MatchDevicePath "/dev/input/event*"
   Driver "libinput"
EndSection
  1. The touchpad pressure is incorrect, add libinput quirks create /usr/share/libinput/90-Google-Hammer.quirks with :
[Google Hammer]
MatchUdevType=touchpad
MatchBus=usb
MatchVendor=0x18D1
MatchProduct=0x502B
AttrPressureRange=40:30

wnpIT avatar May 15 '21 17:05 wnpIT

I also had the exact problem as @rstoecker: HP Chromebook X2 (soraka) with stock firmware and the RW_LEGACY upgrade, with GalliumOS installed by chrx as dual-boot. My touchpad behaved more like a touchscreen. Though far from an X Windows and udev expert, I felt that @wnpIT's comment (immediately above) was on the right track, but it didn't work for me as-is. Here's what I did that fixed it:

  1. I used wnpIT's "step 1" udev hwdb file, except I removed the trailing backquote / grave accent from the first line -- I don't understand udev hwdb files, but I think that's a typo (maybe some stray markdown). The last character on the first line should be an asterisk. When I do this, the output of udevadm info /dev/input/event3 shows ID_INPUT_TOUCHPAD=1, which it does not show otherwise, so I know it's having an effect.
  2. I did not use wnpIT's "step 2" xorg.conf file. I tried it, but the touchpad was completely unresponsive until I got rid of it.
  3. I used wnpIT's "step 3" libinput quirks file as shown.

For the benefit of any newbies, these changes require a reboot to take effect.

Thanks @wnpIT for pointing in the right direction of this solution!

tomm87 avatar Nov 12 '21 21:11 tomm87

I know this is very old but this is how I got things working under Debian 12.

  1. I followed the instructions created in for steps 2 and 3: https://github.com/galliumos/galliumos-distro/issues/523#issuecomment-841695416
  2. I found the mouse device by doing ls -l /dev/input/by-path, ex)
lrwxrwxrwx 1 root root   9 Apr 18 15:01 pci-0000:00:14.0-usb-0:2:1.0-event-kbd -> ../event9
lrwxrwxrwx 1 root root   9 Apr 18 15:01 pci-0000:00:14.0-usb-0:2:1.2-event-mouse -> ../event8
lrwxrwxrwx 1 root root   9 Apr 18 15:01 pci-0000:00:14.0-usb-0:2:1.2-mouse -> ../mouse4
  1. I verified the device with udevadm info /sys/class/input/event8 and retrieved the DEVPATH
  2. I created a udev rule in /usr/lib/udev/rules.d/99-google-hammer.rules with the following, you must insert your own DEVPATH:
ACTION=="add|change", KERNEL=="event[0-9]*", DEVPATH=="/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.2/0003:18D1:502B.0003*", \
ENV{ID_VENDOR_ID}=="18d1", ENV{ID_MODEL_ID}=="502b", ENV{ID_INPUT_MOUSE}="1", ENV{ID_INPUT_TOUCHPAD}="1", ENV{ID_INPUT_TOUCHSCREEN}=""
  1. I ran the following commands:
udevadm hwdb --update
udevadm trigger /sys/class/input/event8
  1. You can now verify that the mouse will have the ID_INPUT_TOUCHPAD=1 with:
udevadm info /sys/class/input/event8
  1. Reboot and your mouse device should work.

rumblpak avatar Apr 18 '24 19:04 rumblpak