Saturday, February 7, 2015

How to configure Wacom Intuos Express Keys on Linux

I have a Wacom Intuos Pro Medium Pen Tablet (or digitizer) PTH-651 and had some trouble assigning the buttons (or "express keys") on Ubuntu Linux 14.04 LTS.

Finally I got it working so here is my solution, using xsetwacom. It's in the official Ubuntu repositories so you can install it from there.

Getting to know your device names, parameters you can set and modifiers you can set them to.

First off, you'll need to know how Ubuntu calls your Intuos. You can do this with the following command (in a terminal window):
xsetwacom --list devices
In my case the result is:
Wacom Intuos Pro M Pen stylus   id: 14 type: STYLUS  
Wacom Intuos Pro M Pen eraser   id: 15 type: ERASER  
Wacom Intuos Pro M Pen cursor   id: 16 type: CURSOR  
Wacom Intuos Pro M Pen pad       id: 17 type: PAD    
Wacom Intuos Pro M Finger touch id: 18 type: TOUCH
Then you'll need to know what kind of buttons and other stuff you can configure using xsetwacom. The following command:
xsetwacom --list parameters
gives you a long list of parameters you can use, with a brief explanation of what they mean. The parameter "Button" for instance will be used to assign a key to a button (or "express key" as Wacom calls it).

Lastly, you kneed to know what you can set these parameters to. The following command:
xsetwacom  --list modifiers
gives you the list of modifiers (keys really) you can set the parameters to. The modifier "PgDn" for instance will be used to set a button ("express key") to act as if you press the "PageDown" button on your keyboard.

Configuring your buttons ("express keys")

The "general" command for assigning a key to a button on my Wacom Intuos Pro is the following:
xsetwacom set "Wacom Intuos Pro M Pen pad" Button 2 key "b"
The above command would set "button 2" of my Intuos to the key "b".

Seems simple enough, and it is really, except for the fact that the numbers of the buttons aren't really logical. To make a long story short, after a lot of trial and error I found that my buttons are numbered, from top to bottom:
2
3
8
9

1 (the big button in the middle of the Touch Ring)

10
11
12
13

In case they don't correspond for you, here's how I found them:

  • open a terminal window
  • type or copy/paste the following command:
xsetwacom set "Wacom Intuos Pro M Pen pad" Button 2 key "b"
  • open a simple text editor like mousepad or gedit
  • instead of typing, push the buttons on your Wacom Intuos and see what happens in the text editor. The button that types "b" is button number 2.
  • Now continue doing the same for the other buttons. Just change the button number in the above command (from 2 to 3 for instance) and push again all the buttons (except for the ones you found already of course).
Finally, as an example, I configure my buttons ("express keys") as follows:
xsetwacom set "Wacom Intuos Pro M Pen pad" Button 2 key "shift"
xsetwacom set "Wacom Intuos Pro M Pen pad" Button 3 key "ctrl"
xsetwacom set "Wacom Intuos Pro M Pen pad" Button 8 key "alt"
xsetwacom set "Wacom Intuos Pro M Pen pad" Button 9 key "esc"
xsetwacom set "Wacom Intuos Pro M Pen pad" Button 10 key "pgup"
xsetwacom set "Wacom Intuos Pro M Pen pad" Button 11 key "pgdn"
xsetwacom set "Wacom Intuos Pro M Pen pad" Button 12 key F1
xsetwacom set "Wacom Intuos Pro M Pen pad" Button 13 key F2

Configuring the Touch Ring

Now you got the hang of it, the Touch Ring is a piece of cake. Just replace "Button 2" with "AbsWheelUp" and "AbsWheelDown" (one for each direction) and you're good.
In my case, I use:
xsetwacom set "Wacom Intuos Pro M Pen pad" AbsWheelUp key "="
xsetwacom set "Wacom Intuos Pro M Pen pad" AbsWheelDown button 7
Now if you pay attention, the modifiers I chose seem a bit weird, right? Why would I use "7" to zoom out and "=" to zoom in? Here's where it gets goofy. I have an AZERTY keyboard (be-fr) and xsetwacom doesn't seem to like that a lot. It actually treats it as if it were a QWERTY keyboard, but not completely either. So I had a lot of trial-and-error fun, again, trying to figure out how xsetwacom interprets the keys on my keyboard. I didn't actually work it out, I stumbled by chance on the right keys for the zoom and left it at that.

Turning off touch

To turn off the "touch" reactivity of my tablet, I use the following command:
xsetwacom --set "Wacom Intuos Pro M Finger touch" touch "off"

A note on Inkscape and pressure sensitivity

I couldn't get pressure sensitivity working on Inkscape. Seems to be a bug in overlay-scrollbar finally. Apparently you can get around it by starting inkscape as follows from command line:
LIBOVERLAY_SCROLLBAR=0 inkscape
but that didn't (always) seem to work for me.
Finally I just removed the package "oevrlay-scrollbar" from Ubuntu. Pressure sensitivity works fine now.

Using your newly configured buttons

To use your buttons with the xsetwacom configurations, you need to first plug in your Intuos (otherwise the device name will be unrecognized by xsetwacom) and then, in a terminal, type your xsetwacom commands. The settings are lost at reboot.

If you don't like hassle, like me, you can just make a small text file where you keep the commands. If you put them all in a single line, separated by "&&" (see axample below), you can issue it as one long command.

I my case, the final command is:

xsetwacom set "Wacom Intuos Pro M Pen pad" AbsWheelUp key "=" && xsetwacom set "Wacom Intuos Pro M Pen pad" AbsWheelDown button 7 && xsetwacom set "Wacom Intuos Pro M Pen pad" Button 2 key "shift" && xsetwacom set "Wacom Intuos Pro M Pen pad" Button 3 key "ctrl" && xsetwacom set "Wacom Intuos Pro M Pen pad" Button 8 key "alt" && xsetwacom set "Wacom Intuos Pro M Pen pad" Button 9 key "esc" &&
xsetwacom set "Wacom Intuos Pro M Pen pad" Button 10 key "pgup" &&
xsetwacom set "Wacom Intuos Pro M Pen pad" Button 11 key "pgdn" &&
xsetwacom set "Wacom Intuos Pro M Pen pad" Button 12 key F1 &&
xsetwacom set "Wacom Intuos Pro M Pen pad" Button 13 key F2

Or you can make a shell script, of course. You can find all about that in the linuxwacom Tablet configuratio Wiki.

Good luck and have a nice day!



If you appreciated this article for some reason or another, please share it (see the buttons below), and, of course, don't forget to Flattr! (Why?)


Thursday, January 1, 2015

Remove HP Recovery partition to install Linux

Problem: I want to install Ubuntu Linux next to Windows on my new HP Probook 430 G2 laptop, but it comes with 4 primary partitions pre-installed. This is the maximum number of partitions allowed, which makes it impossible to install Linux in dual boot.

I googled a lot of solutions but finally settled on making a set of recovery disks and deleting the HP_RECOVERY partition as outlined in the HP support article "Removing the HP Recovery Partition".

Shrink volume in Windows 7

In order to install Ubuntu on a new HP Probook 430 G2, with Windows 7 pre-installed, I wanted to shrink the C: volume in order to make more space for Ubuntu.

So I did the usual:
- in Start Menu search box, I typed "partition"
- click on "Create and format hard disk partitions"
- I right-clicked on the C: volume and chose "Shrink volume"
- in the following window I could shrink the C: volume to about half its size. But the problem was that I wanted to shrink my partition more than what was allowed.

To cut short to the solution, here's how I unblocked the remaining space:

In short:

  • I disabled virtual memory
  • I disabled file indexing and deleted the index files
  • I also deleted shadow copies
  • Restart, shrink partition as desired
  • As far as desired, re-enable virtual memory and/or file indexing and make a restore point.

In long and detailed:
  • I disabled virtual memory (first steps are copied from Microsoft site):
    • Open System by clicking the Start button Picture of the Start button, right-clicking Computer, and then clicking Properties.
    • In the left pane, click Advanced system settings.  Administrator permission required If you're prompted for an administrator password or confirmation, type the password or provide confirmation.
    • On the Advanced tab, under Performance, click Settings.
    • Click the Advanced tab, and then, under Virtual memory, click Change.
    • Clear the Automatically manage paging file size for all drives check box.
    • Click on "No paging file" (further down in the same window)
    • Restart
  • Note: It might be necessary to disable also the creation of Recovery Points, which in my case wasn't active to begin with, so I can't help you here.
  • Upon restart, I still had the same problem. So I tried manually shrinking the volume using Diskpart (to find info on this, start the partition manager as explained at the beginning of this article, right-click on C: volume, choose "Shrink partition", and in the following popup window click the link that says "See Shrink a basic volume" which brings you to a help page with all explanations). 
    • Diskpart didn't succeed in shrinking the volume more than the graphical interface did, of course, but it did write an event in the system logs. As explained in Windows help about shrinking volumes, in the Application logs you can search for event 259 which details the file that blocks further shrinking. So click on Start Menu, type "log" in the search box and choose "view event logs". There, under "Event viewer" -> "Summary page events" in the section "Information", look for event ID 259 and, at the right (in the "actions" pane, click on "view all instances of this event). Click on the last one, chronologically, and there you should see the file name of the file blocking the further shrinking.
    • So here I found out that the indexing service was involved. 
  • So I disabled the windows indexing and deleted the index files:
    • To disable the service:
      • in Start Menu, type "services" and click above on "services"
      • Look for "Windows Search", right-click on it, stop the service and and put "startup service" to "disabled" so on restart it doesn't start again.
    • Then I deleted the index files:
      • first find out where they are
        • in Start Menu type "regedit" in the search box and click on "regedit" above.
        • find HK_LOCAL_MACHINE -> SOFTWARE -> Microsoft -> Windows Search and click on it. To the right, next to DataDirectory, you'll find the right directory (in my case %ProgramData%\Microsoft\Search\Data).
      • Then delete them as administrator: I opened a Windows Explorer window as administrator (type "explorer" in Start menu search field, right-click on Windows Explorer and select "Run as administrator"). Then I typed in the directory box on top "%ProgramData%\Microsoft\" (without the quotation marks), right-clicked on the "Search" subdirectory and chose "delete".
  • I deleted shadow copies:
    • I opened a command prompt as administrator (Start Menu -> All Programs -> Accesories -> Command prompt -> right-click and select: "run as administrator")
    • Typde "vssadmin list shadows" in command prompt
    • Typed "wmic" in command prompt and pressed enter. Then typed "shadowcopy delete" and at the prompt, selected "'Y" for every shadow copy.
  • Then I restarted and was able to shrink the partition to the desired size.


If you appreciated this article for some reason or another, please share it (see the buttons below), and, of course, don't forget to Flattr! (Why?)

Thursday, October 23, 2014

Dry, irritated eyes and puffed eyelids (CVS): try tea tree oil!

Since I started working about 8 hours a day before a computer screen, I have been suffering from dry, irritated eyes and especially sore and puffed upper eyelids. And now I have truly found a solution that works.

The keywords here are blepharitis; a microscopic mite called demodex; and, as far as the solution goes: tea tree essential oil, a natural (albeit very powerful - not to goof around with) extract of the tea tree plant.

I'll make this short. If you suffer, as I did, from red, itchy, irritated eyes and/or puffed and sore eyelids, the problem might be an excess population of demodex mites at the base of your eyelids. Everybody has them, you have too much of them (invisible to the naked eye). So you need to "weed them out" a bit.

Demodex-mite-scanning-electron-microscope-image-2
The problem: demodex parasitic mite (photo Alan R. Walker)
The remedy is extremely simple and cheap:
  • put a drop of tea tree oil (Camelia Sinensis) on your finger and rub it out a bit with another finger. Your fingertip should be moist with it, but there shouldn't be a real drop on it (otherwise the stuff might leak into your eyes and that really stings).
  • close your eye and rub the oil gently on the edges of your eyelids where your eyelashes begin. The idea is to get it on and around the base of your eyelids - but not into your eye. Repeat for the other eye.
  • the first weeks (I read a minimum of six) do this every morning on waking and every evening when going to bed. After that you need a regular hygiene (say once a day) just to keep the demodex at normal levels.
The solution: tea tree (source)
You'll find tea tree oil at your pharmacist's and at organic stores, amonst others.

Now be warned:
  1. Tea tree oil is strong and stings. Even when you don't get it into your eye but only on the eyelids, as you should, it will give a burning sensation. That's not harmful and it goes away within ten minutes (and gradually faster as you get used to it and better at applying it), but be prepared.
  2. If you do get it into your eyes, don't panic. It happened to me several times and has no lasting adverse effects to my knowledge. But it stings like hell for ten minutes or so.
  3. Apparently you shouldn't see this as a "disease" that the tea tree "cures". It's more like regular hygiene.
  4. I obviously urge you to consult a health care professional before doing this.
Here is some suggested reading:
To be complete, I should mention I also wear special computer glasses now. Mine are Prisma P1 Lite (lite because I work on AutoCAD and need to distinguish colors a lot). I am very pleased with them. Unlike Gunnar glasses, which I tried also, my Prisma computer glasses don't magnify which is perfect for me.
The glasses did ease my eye problems somewhat without solving them altogether (but I wear them foremost to protect my eyes from the too harsh computer screen light), it wasn't until the tea tree remedy that I really felt a true relief.

Good luck!

Sunday, August 3, 2014

Keyboard layout incorrect in unity

Problem: keyboard layout in Unity appears to be BE (azerty) (as shown in the icon in Unity panel top right), but when typing it turns out to be EN (querty). I just have to click on the BE-icon and "choose" BE again for the keyboard layout to be correct. But the problem returns after every reboot.
System: Ubuntu 14.04.1 (fresh install) on a HP Envy dv7 laptop

Solution:

  • as found in the comments on bug #1238346
    • delete the ~/.config/ibus folder with the command:
      rm -rf ~/.config/ibus
    • then type ibus-setup and in the window that appears, in the "Advanced" tab, tick "use sytem keyboard layout"
    • close all windows and reboot.

Saturday, August 2, 2014

Beats audio on HP envy dv7, Ubuntu 14.04.1

Problem: Only two speakers working on HP Envy dv7 7390eb laptop with Beats Audio
System: Ubuntu 14.04.1 fresh install
  • Everything I tried relating to changes in /etc/modprobe.d/alsa-base.conf, like adding the line options snd-hda-intel model=ref or variations on this, did not work
  • Following this thread I did
    gksudo gedit /etc/pulse/default.pa
    and added the line
    load-module module-combine channels=6 channel_map=front-left,front-right,rear-left,rear-right,front-center,lfe
  • reboot
  • Click on volume control icon (top right of Unity) and choose Sound Settings (or click on the gear icon -> system settings -> Sound, which brings you to the same)
  • In the tab "Output' an entry "Simultaneaous output to Built-in Analog Stereo" has appeared. Click on this, then click on the "Test Sound" button to the right. In my case 6 speakers appear: front-left, front-center, front-right, rear-left, rear-right and subwoofer. Testing them 5 out of 6 work, only the subwoofer remains silent. Which is acceptable for me, for the time being, and a big step forward from only two speakers...

If you appreciated this article for some reason or another, please share it (see the buttons below), and, of course, don't forget to Flattr! (Why?)


Wednesday, July 30, 2014

Install Ubuntu 14.04.1 LTS next to Windows 8 (dual-boot)

System:  HP Envy dv7 7390eb laptop with Windows 8 pre-installed (UEFI)
Problem: Install Ubuntu 14.04.1 alongside Windows and make dual-boot work

Caution: I am not an expert, I only share what worked for me on my particulat laptop and configuration. This is also very summary, you may have to investigate further if you're not familiar with certain aspects (like changing Boot order sequence in your BIOS etc).

Solution:

  • in BIOS, disable Secure Boot (sorry, can't give details here, Google is your friend)
  • From within Windows, create an empty partition for Ubuntu (not formatted): Control Center -> change partitions
  • download Boot Repair CD and install on a live USB (I used LinuxLive USB Creator but there are other options), you will need it afterwards
  • Start Ubuntu 14.04.1 Live USB, choose "Try without installing"
  • Launch "Install Ubuntu" and choose "Something else"
  • For a partition scheme, I followed the instructions on this page:
    • one of min. 20 Gb (I took 75Gb), ext4, primary partition, "/"
    • one of twice your RAM, swap
    • the rest as logical partition, ext4, "/home"
  • continue installation as usual
  • when I rebooted, Windows booted as if Ubuntu did not exist, so:
    • reboot with Boot Repair Live USB (you may have to enter BIOS by pressing the Esc key just after firing up your laptop and then choose F10 in order to change boot sequence)
    • choose Advanced options, leave all options as they are, only difference is to tick (activate) "Secure Boot" in one of the tabs
    • follow instructions (if you have a BE Azerty keyboard like me, you'll have difficulties in finding the right keys because Boot Repair is in Qwerty: for " type %; * is 8; - is ) and / is =).
    • on reboot everything should be in order
If you upgrade Windows to 8.1, you will have to do the Boot Repair thing again.