How to set up a Wacom Tablet

How to do things, solutions, recipes, tutorials
Post Reply
Message
Author
User avatar
mikeb
Posts: 11297
Joined: Thu 23 Nov 2006, 13:56

#91 Post by mikeb »

Ok passed the test with flying colors :)
apart from I used the eventn option in xorg.conf instead of /dev/wacom doh...now that is so slick

groovy

mike

User avatar
mikeb
Posts: 11297
Joined: Thu 23 Nov 2006, 13:56

#92 Post by mikeb »

Ok the udev detection is great but I'm trying to do the same with hotplug.
A script to remove the link then create a new one pointing to the correct device....no probs...but how is it launched?
All the info I find relating to hotplug mentions files that do not seem to be in puppy... Somewhere to list the device and name the script to run I believe

mike

milosz
Posts: 16
Joined: Sun 08 Feb 2009, 10:17

Can you boil this thread down for me and my HP TC1100?

#93 Post by milosz »

I have a little experience with Puppy, having installed this wonderful distro on some old notebooks.

I'd like to try it on my HP TC1100 - I tried to follow this discussion thread to find if there is a PET package here someplace that will install what I need for the digitizer & pen..... is there one in existence? Can someone tell me where to get it?

ALSO: is there any way to get screen rotation to work using the TC1100's built-in rotate screen "button" which is on the frame of the PC?

It seems this thread is relevant to the topic of pen function on TC1100 , but I see a lot of development going on and am not exactly sure where the "product" of all that hard work is to be found.....

Thanks

User avatar
Pizzasgood
Posts: 6183
Joined: Wed 04 May 2005, 20:28
Location: Knoxville, TN, USA

#94 Post by Pizzasgood »

I don't have one to test with, so I'm not certain I can sort it out, but I'll see what I can do anyway. I see from a post in the Ubuntu forum that it should be doable. But you're going to need the wacom-tools package which I haven't compiled recently, so I'll have to do that first. Hopefully I'll have a guide ready for you by this evening.
[size=75]Between depriving a man of one hour from his life and depriving him of his life there exists only a difference of degree. --Muad'Dib[/size]
[img]http://www.browserloadofcoolness.com/sig.png[/img]

User avatar
Pizzasgood
Posts: 6183
Joined: Wed 04 May 2005, 20:28
Location: Knoxville, TN, USA

#95 Post by Pizzasgood »

Okay, turns out there are precompiled binaries of them included with the source, so I just packaged those. They're at the bottom of the first post in this thread.

Step One: Wacom Driver

You need to go through the first post in this thread and get the wacom driver installed, along with the wacom_tools package.

Additionally, you need to find the "Device" section in /etc/X11/xorg.conf, which begins with:

Code: Select all

Section "Device"
and add these lines:

Code: Select all

Option    "RandRRotation"    "on"
Option     "NvAGP"     "1"
Option    "Button2"    "3"

At this point you should make sure that you're able to draw on the tablet properly. We want to go one step at a time. When the "mouse" is behaving properly, we can move on to the rest. In particular, I think that the Udev rule probably isn't going to work. Jamesbond posted a more complex rule that might help.


Note: any time you run xorgwizard, your /etc/X11/xorg.conf file will be modified. If that happens the above changes to the file will be lost and you'll have to redo them. So I recommend that once you get everythign working, make a copy of the xorg.conf file as 'xorg.conf.WORKS' or something. Don't use the more obvious backup names like 'xorg.conf.bak' because other programs that edit the xorg.conf file might overwrite the backup.




Step Two: A Rotation Script

Next, according to that thread you need a script to rotate the screen when you press the button. One is attached to this post, but I'm also going to show it here since it's short. It's basically the same script that was in the Ubuntu thread, with a couple adjustments to make it work with Puppy. It should be placed in /usr/bin or some other location in the $PATH.

Code: Select all

#!/bin/sh

# Change System Input orientation for Tablet Mode
# Depends on wacom_tools and xrandr

ORIENTATION="$(xrandr | egrep -o 'current [0-9]+ x [0-9]+' | sed 's/current \([0-9]\+\) x \([0-9]\+\)/\1 \2/')"
WIDTH=$(echo "$ORIENTATION" | cut -f 1 -d ' ')
HEIGHT=$(echo "$ORIENTATION" | cut -f 2 -d ' ')
if [  $WIDTH -gt $HEIGHT ]; then
	xrandr -o left
	xsetwacom set stylus Rotate CCW
else
	xrandr -o normal
	xsetwacom set stylus Rotate none
fi
What it does is rotate the screen counter-clockwise if it isn't rotated yet, otherwise it puts it back. It determines the current orientation by looking at the aspect ratio - it makes the assumption that "normal" is wider than it is tall, so users with really funky monitors would need to adjust that part, but it will be fine for you.


Step Three: Finding/Setting the Keysym

Now we need to bind the script to the button, which is a two part process. The command can be bound to a "keysym" very easily. However, first we need to know the keysym of the button you referred to, and if it does not have one we must assign it.


So. To find the keysym (or keycode if there is none) we need the xev program, which Puppy doesn't include by default. It's in the xorg_xorg_full_dri-7.3 package, but that's pretty big (50 megs or so, IIRC). So in case you don't already have that, I've pulled out the xev executable and attached it.

Now that you have xev, use it: Open a terminal and run the command xev. This will open a window with whiteness and a square. Click on the window to make sure it has the focus, and move it to the side so you can see the terminal window too. Now whenever you press or release most keys, it will spout out information. So press the button that you want to control the rotation, and then examine the output. It will look something like this:

Code: Select all

KeyPress event, serial 29, synthetic NO, window 0x2c00001,
    root 0x45, subw 0x0, time 2505691954, (180,42), root:(643,108),
    state 0x2, keycode 65 (keysym 0x20, space), same_screen YES,
    XLookupString gives 1 bytes: (20) " "
    XmbLookupString gives 1 bytes: (20) " "
    XFilterEvent returns: False

KeyRelease event, serial 29, synthetic NO, window 0x2c00001,
    root 0x45, subw 0x0, time 2505692210, (180,42), root:(643,108),
    state 0x2, keycode 65 (keysym 0x20, space), same_screen YES,
    XLookupString gives 1 bytes: (20) " "
    XFilterEvent returns: False
The part you're interested in is the (keysym 0x20, space). As you may have guessed, this output was from my spacebar. Push your button and see if it puts any text there (besides the hexadecimal number - we don't care about that). If it does, that text is the keysym. Note it and skip the rest of this section and go straight to Section Four.


If it doesn't give a keysym, that means you'll need to define one. Not hard. But we need the keycode for that, so now look at the part of the output that looks like this: keycode 65 (it comes just before the keysym section, on the same line). That gives you the decimal number that corresponds to the key. If it doesn't give you one of those (or worse - doesn't even generate an event) then we have a Problem, which will require some research and experimentation to fix... Assuming that it does give you a keycode, we will bind that number (the keycode) to a textual string (the keysym).

To do that you need to create the text file /root/.Xmodmap (if it doesn't already exist). Because the name starts with a '.' it is a hidden file, so you'll need to click on the "eye" icon in the filemanager's toolbar to be able to see it after you create it (or if it already exists). Anyway, open (or create) it and insert the following:

Code: Select all

keycode ??? = XF86Launch0
Except replace the ??? with the keycode you just found. Save the file. Now the next time X starts, it should give the button the keysym 'XF86Launch0'. Use that as the keysym for the next stage.


Step Four: Bind the script to the keysym

Okay, so by this point you should have the wacom driver working, know the keysym for the button, and have the rotatescreen.sh script in the $PATH somewhere (e.g. /usr/bin). Now, assuming you use JWM, edit the file /root/.jwm/jwmrc-personal. This is in the hidden '.jwm' directory, so you'll have to click the "eye" icon in the file manager's toolbar to see it. Okay, now scroll down near the bottom. There should already be some key bindings in there, but whether there are or not is irrelevant. I just want you to put it near them if there already are some, so that things are nice and tidy. Insert the following:

Code: Select all

<Key key="XF86Launch0">exec:rotatescreen.sh</Key>
But replace XF86Launch0 with whatever your keysym is. Make sure you place this somewhere ABOVE the </JWM> line. Save the file.

Now restart X. Hopefully it should all work.


If you don't use JWM then you need to do the equivalent procedure for whatever you do have. Post it and we can help.





FYI, tomorrow night I leave for a week to visit my dad (who also happens to be getting married on Saturday). He doesn't have internet access out there, so please don't think I'm ignoring you if I don't respond right away. I'll get back on Tuesday 28, barring airport-idiocy. :roll:
Attachments
rotatescreen.tar.gz
A script to rotate the screen and tablet 90 degrees. Extract it and place in the $PATH somewhere (e.g. /usr/bin)
(399 Bytes) Downloaded 575 times
xev_standalone.pet
The handy xev program pulled out of xorg_xorg_full_dri-7.3.
(7.24 KiB) Downloaded 601 times
[size=75]Between depriving a man of one hour from his life and depriving him of his life there exists only a difference of degree. --Muad'Dib[/size]
[img]http://www.browserloadofcoolness.com/sig.png[/img]

User avatar
gymnart
Posts: 105
Joined: Wed 10 Dec 2008, 20:32
Contact:

#96 Post by gymnart »

How about for Puppy 4.3, will this work since it is a newer version?

User avatar
mikeb
Posts: 11297
Joined: Thu 23 Nov 2006, 13:56

#97 Post by mikeb »

If it uses the same kernel as 4.21 and same xorg (7.3) then you may be in look. Look in /lib/modules/ for 2.6.25.16...of it exists if so then hopeful.
Plus it needs the fixed xinput gtk2, or a later proprly compiled version.
As you are being a beta tester be prepared to fix things generally.

I may be being pessimistic :D

Mike

User avatar
gymnart
Posts: 105
Joined: Wed 10 Dec 2008, 20:32
Contact:

#98 Post by gymnart »

Puppy 4.3 is beta? My husband got it so I didn't see exactly what the link said.

User avatar
mikeb
Posts: 11297
Joined: Thu 23 Nov 2006, 13:56

#99 Post by mikeb »

Well perhaps try it anyway........if you have no success use an earlier puppy that the packages here do work on

mike

User avatar
Pizzasgood
Posts: 6183
Joined: Wed 04 May 2005, 20:28
Location: Knoxville, TN, USA

#100 Post by Pizzasgood »

4.3 probably includes whatever the latest version of the kernel driver was at the time that that version of the kernel was released. So unless you use a newer tablet, that kernel driver should be sufficient, and you'd just need to install the xorg driver and then do the configuration. Unless it uses a different version of Xorg, that probably won't be a problem.
[size=75]Between depriving a man of one hour from his life and depriving him of his life there exists only a difference of degree. --Muad'Dib[/size]
[img]http://www.browserloadofcoolness.com/sig.png[/img]

User avatar
mikeb
Posts: 11297
Joined: Thu 23 Nov 2006, 13:56

#101 Post by mikeb »

See I was being pessimistic :D and totally forgot that the driver was included :oops: ...I shall stand in a corner with my head bowed

mike

ocpaul20
Posts: 260
Joined: Thu 31 Jan 2008, 08:00
Location: PRC

#102 Post by ocpaul20 »

I am trying to get my Wacom Bamboo working on Puppy 421 frugal install on harddisk.

I have added the bits to the xorg.conf file but I added them above the line which says that it will be overwritten (hoping to avoid changing this file) each time xorg is run.

Is this OK?

I assume not because my bamboo is working as a mouse but it does not move proportionately up the screen, it does a 1:1 conversion - 1inch on Bamboo = 1 inch on screen, so after about 5 inches, I have run out of Bamboo area!!

Also, the stylus has to be placed on the pad so lightly. I am always 'clicking' on things that I dont mean to, which is a real pain. I have replaced the /dev/input/wacom with /dev/input/event5 to see if that will help, but it does not.

Any ideas what I can try please?

in xerrs.log I have this which is ambiguous - is there an error or not as it says 'success'?

(EE) xf86OpenSerial: Cannot open device /dev/input/event5
No such file or directory.
Error opening /dev/input/event5 : Success

dmesg shows this which suggests an error somewhere.

wacom: no version for "struct_module" found: kernel tainted.
input: Wacom Bamboo as /devices/pci0000:00/0000:00:10.1/usb2/2-1/2-1:1.0/input/input5
usbcore: registered new interface driver wacom
/tmp/ff/linuxwacom-0.8.2-2/src/2.6.24/wacom_sys.c: v1.46-pc0.4:USB Wacom Graphire and Wacom Intuos tablet driver

User avatar
Pizzasgood
Posts: 6183
Joined: Wed 04 May 2005, 20:28
Location: Knoxville, TN, USA

#103 Post by Pizzasgood »

I'm not sure about the placement. Xorg itself never looks at the comments, so as long as everything is still in the right sections, Xorg will be happy. I have no idea if placing things above that line will actually impact whether they get overwritten by xorgwizard. I've never tried that.

As for the behavior of your stylus, that is erroneous. Normally you can move the pointer around without even touching the pad with the stylus. What you're experiencing is what happens when the xorg.conf file points at the wrong event node. Try using just /dev/ rather than /dev/input/. That might be where the problem is. On the system I'm using right now, I'm using /dev/wacom which is a link to /dev/event9. (So perhaps my documentation on the first post is a little bit off, because that does mention /dev/input/event*.)


Did you use the generic X driver package, or the one that also includes your kernel driver? Might be worth trying the kernel-driver one if you didn't already, as they may have fixed some bugs.

Sometimes when working with drivers it takes a reboot to get everything synced up. Generally that's not needed, but it wouldn't hurt to try (put it back to using the wacom symlink before rebooting, in case the event node changes).
[size=75]Between depriving a man of one hour from his life and depriving him of his life there exists only a difference of degree. --Muad'Dib[/size]
[img]http://www.browserloadofcoolness.com/sig.png[/img]

ocpaul20
Posts: 260
Joined: Thu 31 Jan 2008, 08:00
Location: PRC

#104 Post by ocpaul20 »

Changing to /dev/wacom seems to have fixed it. Thank you very much for your help.

User avatar
mikeb
Posts: 11297
Joined: Thu 23 Nov 2006, 13:56

#105 Post by mikeb »

Pizzasgood ... since you have done such a good job here how about you remove the (hopefully) from the thread title? :)

regards

mike

User avatar
Pizzasgood
Posts: 6183
Joined: Wed 04 May 2005, 20:28
Location: Knoxville, TN, USA

#106 Post by Pizzasgood »

Done. I also updated the subtitle to match the current version of the .pet, which I forgot to do for a while.
[size=75]Between depriving a man of one hour from his life and depriving him of his life there exists only a difference of degree. --Muad'Dib[/size]
[img]http://www.browserloadofcoolness.com/sig.png[/img]

blackthorn3d
Posts: 8
Joined: Thu 19 Feb 2009, 22:36

#107 Post by blackthorn3d »

Hi and thanks Pizzasgood for the how to. I just setup my wacom bamboo fun on puppy 4.3.1 and it seems to be working good.

I only needed to use the wacom-0.8.2-2_xorg_driver.pet that you had listed on the first post and follow your instructions. wasn't sure I would get the xorg.conf file right the first time but I did thanks again.

User avatar
starbright
Posts: 14
Joined: Mon 23 Nov 2009, 21:18
Location: Vienna, Austria
Contact:

Extreme caution

#108 Post by starbright »

Sometimes I should just leave well enough alone.

I downloaded the wacom-0.8.2-2_xorg_driver.pet and edited my xorg.conf
and now x is broken.
To a noob like me it just looks dead. Even when I reeboot I get a page full of red writing telling me x did not work, and no option to try anything else.
Oh Dear.

I'll try to create a new boot USB and see if I can fix this.
Here's hoping.

But if like me you don't really understand what you are editing in these files, then here is one user that had a real bad experience.

Pitty though, my Bamboo "just works" on the Windows lappy, and I do love it so.

:oops:


**edit
Puppy boots from the USB stick, good job I kept that ISO on my bomb proof Windows machine. When I look at that xorg.conf file it seems to be OK, but when I try to boot without USB it fails with more errors than before.
That's very confusing for a noob like me. I think I've really messed up my system. It gets to the bit where it usually says this script will run x windows for you, but instead it just gives me a # prompt and no hints about what I should do with it.
I booted up with the USB to reinstall but universal installer is no longer giving me that option.
Argh,

Anyone know how I can fix this?
I want my Puppy back, I love it.

User avatar
mikeb
Posts: 11297
Joined: Thu 23 Nov 2006, 13:56

#109 Post by mikeb »

Hmm first suggestion would be to run xorgwizard from the command prompt...that should restore a working xorg.conf

If that does not work then your pup_save sounds a little screwed.

If it does work then perhaps post your xorg.conf here and someone could edit it for you.

A handy thing from the prompt is to
cd /etc/X11
then use
mv (old name) (new name)
to restore a working backup when testing
ls lists the folder contents

mike

User avatar
starbright
Posts: 14
Joined: Mon 23 Nov 2009, 21:18
Location: Vienna, Austria
Contact:

Miracle!

#110 Post by starbright »

I went to work very down in the dumps, and when I came home and half heartedly booted, the dear old thing came to life.
It complained about two stale handles as it booted, but apart from the gimp icon being replaced on my desktop by the default grey binary page icon there doesn't seem to be any harm done.

I'm at a loss to describe it, but of course I'm very glad.

Is it possible for an OS to rest and heal?

:D

Post Reply