Fun with touchscreens and Linux
So, a little while ago I got a Lenovo Yoga 2 Pro. This laptop has a touchscreen on it. I didn’t think I would pretty much ever use it, but it came along with the package. So, I decided to look around in the Linux world and see if I could make the touchscreen work to the point I would find it usable.
The yoga is a bit of a strange thing in the laptop world, as you can fold the screen back all the way. So, you get “tent mode” where the screen is back 270 degrees or so and a “tablet mode” when the screen is folded all the way back against the keyboard. When the laptop is in “tablet mode” the firmware turns off the keyboard (so you don’t hit any keys when you are holding it), but (at least under Linux) doesn’t turn off the touchpad.
If you simply use xrandr to rotate the screen, the touchpad doesn’t really re-orient correctly. A quick web search pointed me to a simple script by Elf Sternberg: http://www.elfsternberg.com/2013/05/25/thinkpad-yoga-ubuntu-12/ that works great on the yoga 2 pro as well. I might well add to it to disable the touchpad if I rotate the screen.
On-screen keyboards: There’s a number of them available in Fedora, but most of them are horrible. Due to the high screen resolution on this laptop (3200×1800), any on-screen keyboard that doesn’t allow me to resize or set the font is a no go (unless I want to use a toothpick to select keys). I finally settled on eekboard as the best of the lot, but then someone mentioned to me that cellwriter (a handwriting recognition software) also had a nice on-screen keyboard. It’s not bad. Has lots of keys and allows me to at least resize it to 1400 pixels wide. Adding a launcher for it in the Xfce panel and things are mostly set. One drawback is that it’s pretty impossible to move windows around without the touchpad, so wherever you have the keyboard set to appear, it’s going to be on top of that content, which can be anoying. I have not found a way to make it just pop up the keyboard when there’s some kind of text entry field, but that would sure be a nice enhancement.
Next up was gesture support. There’s a nice application called ‘easystroke’ available. It’s pretty flexable. You can set it to use just the touchscreen for gestures (not the touchpad) and use button 1 on the mouse for making them. You can also have global gestures, or tie them to specific applications. I really wish the multitouch stuff for the touchscreen would work, having two finger and three finger buttons and edge scrolling would be very nice, but sadly, X just sees it as button 1 press/move and thats it. You can install xie and use that with easystroke however to get it to do button presses or other crazy events. 🙂 The downside to grestures is that you have to sit there and define all the ones you need and then remember what they are. Still it can be handy for some things. I’ve also not been able to pin it down by sometimes when easystroke is running mouse clicks don’t work right. ;(
For application support: Firefox has a extension called “Grab and Drag” that can let you use the touchscreen to move around in web pages. However, if you are using that and easystroke things can get a bit muddled. Calibre will let you go back and forward in a book if you are in ‘full screen’ mode in the ebook reader. That works ok, but unfortunately, you have to hit ‘escape’ to exit that mode, and you can’t really do that unless you make a gesture for it.
So, after playing around, the Linux tablet experence is no where near what you would find on a dedicated tablet, but it will actually be ok for things like reading ebooks, web browsing and watching things, etc. Also, the yoga 2 pro is a bit large in tablet mode (its a 13″ screen), making it not as light and nice as a smaller tablet (like the nexus 7 or such).