You are not logged in.

#1 2014-05-15 20:13:21

Los Frijoles
Member
Registered: 2012-06-23
Posts: 40

Registering multitouch events (Asus X200M)

I have just purchased a new laptop that includes a touch screen so that I could mess around with it. As far as I know, the touchscreen is multitouch capable since it behaves like that in windows (supports pinch gestures and such).

The laptop is an Asus X200M and I took a bit of a risk getting it since I hadn't anyone around the internet using it with linux, but at $300 I couldn't really resist (4Gb RAM, 500G hard drive, teensy processor (7.5W dual core Celeron wih Baytrail core I believe)).

I honestly don't know the first thing about multitouch at the software level. I was poking around in headers and I saw that linux does support it via hid_multitouch and input.h has some fun MT_ event types (not sure how to use those either, but I imagine it works via ioctl). lsmod tells me that hid_multitouch is loaded.

Right now the computer registers the touchscreen as a mouse and it behaves exactly like a one-button mouse. What I want, however, is to be able to either a) access touch events from a program which I write or b) have "gesture" support from my touchscreen (i.e. emulate wheel scroll with pinch gesture, capture a 3-finger swipe, etc).

I'm not even sure what device it is at this point. lsusb says:

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Bus 001 Device 008: ID 0bda:5605 Realtek Semiconductor Corp.
Bus 001 Device 002: ID 0457:1029 Silicon Integrated Systems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub


And lspci says:

00:00.0 Host bridge: Intel Corporation ValleyView SSA-CUnit (rev 0c)
00:02.0 VGA compatible controller: Intel Corporation ValleyView Gen7 (rev 0c)
00:13.0 SATA controller: Intel Corporation ValleyView 6-Port SATA AHCI Controller (rev 0c)
00:14.0 USB controller: Intel Corporation ValleyView USB xHCI Host Controller (rev 0c)
00:1a.0 Encryption controller: Intel Corporation ValleyView SEC (rev 0c)
00:1b.0 Audio device: Intel Corporation ValleyView High Definition Audio Controller (rev 0c)
00:1c.0 PCI bridge: Intel Corporation ValleyView PCI Express Root Port (rev 0c)
00:1c.1 PCI bridge: Intel Corporation ValleyView PCI Express Root Port (rev 0c)
00:1c.3 PCI bridge: Intel Corporation ValleyView PCI Express Root Port (rev 0c)
00:1f.0 ISA bridge: Intel Corporation ValleyView Power Control Unit (rev 0c)
00:1f.3 SMBus: Intel Corporation ValleyView SMBus Controller (rev 0c)
02:00.0 Network controller: Qualcomm Atheros AR9485 Wireless Network Adapter (rev 01)
03:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device 5286 (rev 01)
03:00.2 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 06)

xinput, on the other hand, seems to tell me a little more:

⎡ Virtual core pointer                        id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                  id=4    [slave  pointer  (2)]
⎜   ↳ USBest Technology SiS HID Touch Controller    id=10    [slave  pointer  (2)]
⎜   ↳ ETPS/2 Elantech Touchpad                    id=14    [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)]
    ↳ Video Bus                                   id=7    [slave  keyboard (3)]
    ↳ Power Button                                id=8    [slave  keyboard (3)]
    ↳ Sleep Button                                id=9    [slave  keyboard (3)]
    ↳ Asus WMI hotkeys                            id=12    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard                id=13    [slave  keyboard (3)]
    ↳ USB2.0 HD UVC WebCam                        id=11    [slave  keyboard (3)]

My questions are as follows:

* Is there existing software to achieve what I want with gestures on linux (pinch, swiping, etc)?
* If not, where can I find appropriate documentation to begin writing something?

I apologize if my question isn't clear and if clarification is needed, I can give it.

Thanks in advance for any advice or thoughts on using my touchscreen.

Last edited by Los Frijoles (2014-05-15 20:13:50)

Offline

#2 2014-06-19 02:27:04

samiam
Banned
From: EAX
Registered: 2010-08-20
Posts: 58

Re: Registering multitouch events (Asus X200M)

If you haven't found it already, see https://aur.archlinux.org/packages/touchegg/ I use it on my Lenovo convertible and it works great. I don't think I've ever tried a pinch gesture, but multitouch scroll, etc works,

Offline

Board footer

Powered by FluxBB