个人工具

UbuntuHelp:AiptekTablet

来自Ubuntu中文

Wikibot讨论 | 贡献2008年10月19日 (日) 14:09的版本

跳转至: 导航, 搜索
  1. title Aiptek Tablet

This wiki contains information about the aiptek-based USB tablet for Linux and X11, not to be confused with the older serial-based hyperpen module. This tablet is also known as a Dolphin, Medion (Aldi tablet) and other generic brands. The support for this tablet is very flaky in Ubuntu 5.04 (Hoary Hedgehog), 5.10 (Breezy Badger), and possibly 6.06 (Dapper Drake), but it is possible to get half-working. Ubuntu does have the module in the kernel and the X11 driver, but they don't work very well and need to be replaced with the ones from CVS (especially the xorg driver). The unified_package is too out of date and should not be used at all.

Setup

This tablet is a little tricky to set up, but this is what I have done to get it to work at least in Wine Photoshop 7:

  1. Before beginning you should back up your current version of xorg.conf. If anything goes wrong in the steps below, you could be prevented from booting into X. Having an easily restored working version of xorg.conf could save you a lot of trouble. (if you have already modified xorg.conf and are now stuck at a terminal screen unable to load X, use
    sudo nano /etc/x11/xorg.conf
    to edit xorg.conf back to it's original state.
  2. Create an udev rules file called '/etc/udev/rules.d/61-aiptek.rules' and add the following content to it:
    BUS=="usb", DRIVER=="aiptek", KERNEL=="event[0-9]*", SYMLINK+="input/aiptektablet"
    KERNEL=="event[0-9]*", SYSFS{vendor_id}=="0x08ca", SYMLINK+="input/aiptektablet"
Then restart udev with
sudo /etc/init.d/udev restart 
and your /dev/input/aiptektablet symlink should now appear.

If it does not, see [[UbuntuHelp:[UDEV-TroubleShooting|UDEV-TroubleShooting]]].

  1. In your xorg.conf, put the following under your other input device entries:
    Section "InputDevice"
      Identifier "pen"
      Driver "aiptek"
    # Option "Device" "/dev/input/eventX"
      Option "Device" "/dev/input/aiptektablet"
      Option "Type" "stylus"
      Option "Mode" "absolute"
      Option "Cursor" "stylus"
      Option "PressCurve" "0,5,95,100"
      Option "zMin" "0"
      Option "zMax" "512"
      Option "zThreshold" "0"
      Option "USB" "on"
      Option "KeepShape" "on"
      Option "AlwaysCore" "on"
    EndSection
  2. Under Section "ServerLayout" (at or near the bottom of xorg.conf), put:
    InputDevice "pen" "SendCoreEvents"
  3. Ensure your mouse (probably Configured Mouse) is set to CorePointer. See `man xorg.conf` for a description of the `AlwaysCore` and `SendCoreEvents` options. All other options are explained in `man aiptek`.
  4. Make sure the aiptek module is loaded (and the tablet is plugged in!), check by using either:
    dmesg |grep aiptek
    
    or
    lsmod |grep aiptek
    if neither of these work, try

    sudo modprobe aiptek

  5. Restart X by pressing ctrl+alt+backspace, with your fingers crossed :) if this is possible...
  6. PROFIT!

If the tablet plays around like the "absolute" option isn't all that "absolute" to your screen, or pressure sensitivity doesn't work at all, try using the aiptek CVS. There is a newer module to update for kernel 2.4.x and 2.6.x as well as an imake for the xserver driver (this might mean trouble for the new modular xorg7). If you can't compile it like me (it compiles on fedora core and opensuse just fine with the right stuff installed) then try to copy the pre-made driver out of the unified package.

Issues

  • Once pressure-sensitivity is enabled, programs such as GIMP (with it enabled in preferences) have a weird bug where the tablet has locked focus and never registers that the pen is off of the tablet, thus locking up the mouse from anything else and will continue to draw forever unless GIMP is killed. I hope this is just an issue with Gnome/GIMP and a later version fixes this (I've only tested the one which came with Ubuntu 5.10). Krita also plays up with pressure sensitivity but not in the same way, but I haven't really tested this program all that much. Photoshop 7 under Wine/Crossover Office works perfectly with this tablet and sensitivity.
  • Untested: This is easily fixed (at least with every version of the aiptek kernel and X drivers I have used so far). The problems is that the tablet is simultaneously set up both as a mouse (delivering events via /dev/input/mice or some such) and a tablet (/dev/input/eventX) in the X configuration. The solution is to change the mouse device to the device that is ONLY the mouse (eg /dev/input/mouse0), not one that is a mix of all input devices. Gimp then behaves as it should (and the system locks up less!)
  • When the tablet isn't plugged in, xorg will fail to start due to no /dev/input/eventX being listed. Is there a way so that xorg can just ignore this entry and start without it? When there's no keyboard and mouse it doesn't halt this way.
  • In the old unified_package, there is an entry for hotplug information so that it makes a /dev/input/AiptekTablet rather than a random /dev/input/eventX point (very good for xorg to find it with this entry instead of manually editing the xorg.conf when there's another input device plugged in and changes the aiptek's event number). But hotplug has been replaced with udev. You need a rule now which detects the tablet info and creates the right device entry. How to do this is now step #2 in the above list.

Other Notes

Comments below apply specifically to Ubuntu 6.06, but may apply to other versions as well:

  • Removing the entries for wacom (I don't have one so i hoped disabling the entry might help) caused several errors in xorg since the server section had entries for the wacom tablet. Eventually, I could use startx and get a desktop.
  • In use it's tricky to maintain registration, which seems to drift. Adjusting mouse speed settings helped but GIMP didn't recognise the tablet as such, although it is usable.
  • I was using the tablet on a laptop so had a synaptic touch pad working at the same time. I found if I set some points on the edges of my sketch I could kind of calibrate the pen so I wouldn't drift too far off. After this, sketching using GIMP was quite easy, but tracing was a lot more difficult. Probably using just the mouse that comes with the tablet and the pen would result in fewer problems. Ksynaptic or qsynaptic should be able to disable the built in trackpad on the laptop.

UDEV-TroubleShooting

If the rule did not work, you want to write your own.

  1. Get Information about your device by plugging it in and calling
    dmesg | tail
    which should you give something like this:

    [ 6452.359600] usb 1-1: new low speed USB device using uhci_hcd and address 5 [ 6452.538397] usb 1-1: configuration #1 chosen from 1 choice [ 6455.002229] /build/buildd/linux-2.6.24/drivers/input/tablet/aiptek.c: input: Aiptek using 400 ms programming speed [ 6455.002232] [ 6455.002321] input: Aiptek as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1:1.0/input/input9

  2. Here we need the devpath `/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1:1.0/input/input9` for udevinfo
    devpath=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1:1.0/input/input9
    udevinfo -a -p $devpath | less 
    to get
    1. ...
    looking at device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1:1.0/input/input9':
       KERNEL=="input9"
       SUBSYSTEM=="input"
       DRIVER==""
       ATTR{name}=="Aiptek"
       ATTR{phys}=="usb-0000:00:1a.0-1/input0"
    
    1. ...

    looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1:1.0':

       KERNELS=="1-1:1.0"
       SUBSYSTEMS=="usb"
       DRIVERS=="aiptek"
       ATTRS{size}=="3000x2250"
       ATTRS{pointer_mode}=="either"
       ATTRS{model_code}=="0x0064"
    
    1. ...
  • Add udev-rule, that matches attributes which uniquely identify our device and adds a symlink:
    sudo bash
      rule='SUBSYSTEMS=="usb", DRIVERS=="aiptek", ATTRS{size}=="3000x2250", ATTRS{model_code}=="0x0064", SYMLINK+="input/aiptektablet"'
      echo $rule > /etc/udev/rules.d/61-aiptek.rules
    exit
  • Restart udev and see if the device is there:
    sudo /etc/init.d/udev restart
    ls /dev/input/ | grep aiptek
  • Links

    Sourceforge Page Outdated Home Page CVS NOTE: CVS has been turned off at this link. Please update the link if you have new information.