[Input Device] I2C-HID mouse device cannot "click" on Chrome OS

201 views
Skip to first unread message

Lak Fu

unread,
Jan 2, 2018, 9:07:18 PM1/2/18
to Chromium OS discuss
Hi everyone, 
I want to re-work a new touchpad via I2C to my Chromebook.
So I installed crouton, and written a kernel module to register it for invoke I2C-HID driver.
Finally, my device is work fine on crouton, it can move, click and support the gesture, but the strange thing is that click function will not work when I switch back to Chrome OS desktop.
I checked the xinput under crouton, it is fine and succeed to drive by I2C HID v1.00 Mouse driver, and back to Chrome OS desktop, it can move and gesture, just no click. 

Does anyone have any ideas about this situation?
I will be very grateful for any suggestion or comment, thanks.

Lak Fu

unread,
Jan 8, 2018, 2:15:18 AM1/8/18
to Alexandru Stan, Chromium OS discuss
Hi, 
Thanks for your comment.
It should be the key why my touchpad cannot use. 
>>There exists some code in the chromeos input system where it ignores clicks if it doesn't detect any fingers present on the touchpad. 
>>This is so it doesn't false click when the case flexes.

Can you tell me where is the source code (in ChromeOS, I can check it first...)? Thanks you so so much...

And strange things is my touchpad is driving by HID mouse driver (Linux default), I through it should be fine... I don't understand why I encounter this problem...

My touchpad is just a normal type like others, and it have not PHY buttons.
The interesting is the input system receive correct input event on crouton environment. 
Below is my xinput shown, my device is "hid-over-i2c 093A:0000 Touchpad          id=15 [slave  pointer  (2)]".

� Virtual core pointer                    id=2 [master pointer  (3)]
�   ��� Virtual core XTEST pointer              id=4 [slave  pointer  (2)]
�   ��� Elan Touchscreen                        id=11 [slave  pointer  (2)]
�   ��� WCOM50C1:00 2D1F:0016                    id=12 [slave  pointer  (2)]
�   ��� hid-over-i2c 093A:0000 Touchpad          id=15 [slave  pointer  (2)]
�   ��� Logitech USB Receiver                    id=10 [slave  pointer  (2)]
� Virtual core keyboard                    id=3 [master keyboard (2)]
    ��� Virtual core XTEST keyboard              id=5 [slave  keyboard (3)]
    ��� Power Button                            id=6 [slave  keyboard (3)]
    ��� Power Button                            id=7 [slave  keyboard (3)]
    ��� Sleep Button                            id=8 [slave  keyboard (3)]
    ��� bxtda7219max Headset Jack                id=13 [slave  keyboard (3)]
    ��� AT Translated Set 2 keyboard            id=14 [slave  keyboard (3)]
    ��� Logitech USB Receiver                    id=9 [slave  keyboard (3)]

and the kernel log,

[   75.067716] input: hid-over-i2c 093A:0000 Touchpad as /devices/pci0000:00/0000:00:17.0/i2c_designware.4/i2c-10/10-002c/0018:093A:0000.0004/input/input14
[   75.068418] hid-multitouch 0018:093A:0000.0004: input,hidraw3: I2C HID v1.00 Mouse [hid-over-i2c 093A:0000] on 10-002c

next, I observer the touch event via "xinput test 15", and the button events are truly exists.
(xenial)lak@localhost:~/workspace/pixart_tp_driver$ xinput test 15
button press   1 
button release 1 
button press   1 
button release 1 
motion a[3]=401 
motion a[3]=396 
motion a[3]=391 
motion a[3]=386 
motion a[3]=380 
motion a[3]=376 
button press   4 
button release 4 
motion a[3]=373 

And it is work fine on crouton, but once I back to Chrome OS desktop, it is become invalid.




Alexandru Stan <ams...@google.com> 於 2018年1月4日 週四 上午5:26寫道:
Is it possible you're clicking the touchpad without touching it? Not sure how your touchpad looks, maybe it's one of the ones with the separate buttons?

There exists some code in the chromeos input system where it ignores clicks if it doesn't detect any fingers present on the touchpad. This is so it doesn't false click when the case flexes.

Alexandru Stan (amstan)

--
--
Chromium OS discuss mailing list: chromium-...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-os-discuss?hl=en




--
By Lak
Reply all
Reply to author
Forward
0 new messages