You are not logged in.
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
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