Genius Mousepen no Arch Linux

Eu já postei sobre meu tablet aqui. O que eu fiz de diferente é instalar no Arch Linux. Estou usando o Xorg 1.6.0 (a instalação eu fiz quando era 1.5.3, mas é possível recompilar o driver, veja no final do post) e eu uso o hotplugging, isto é, não mexo no xorg.conf mas deixo por conta do hal a detecção e configuração do que vai ser plugado. O primeiro passo é a instalação do módulo de suporte, através do AUR:

yaourt -S wizardpen
Depois adicionei o seguinte arquivo em /etc/hal/fdi/policy/99-x11-wizardpen.fdi:
<?xml version="1.0" encoding="UTF-8" ?>
<deviceinfo version="0.2">
<device>
<!-- This MUST match with the name of your tablet -->
<match key="info.product" contains="UC-LOGIC Tablet WP8060U">
<merge key="input.x11_driver" type="string">wizardpen</merge>
<merge key="input.x11_options.SendCoreEvents" type="string">true</merge>
<merge key="input.x11_options.TopX" type="string">579</merge>
<merge key="input.x11_options.TopY" type="string">2806</merge>
<merge key="input.x11_options.BottomX" type="string">32494</merge>
<merge key="input.x11_options.BottomY" type="string">32762</merge>
<merge key="input.x11_options.MaxX" type="string">32494</merge>
<merge key="input.x11_options.MaxY" type="string">32762</merge>
O nome eu retirei de
lshal | grep info.product 
e os números mágicos, rodando o wizardpen-calibrate, como root e seguindo as instruções (clicar em cantos do tablet). Reiniciei o hal e a sessão. Tudo funciona, inclusive o gimp, que era problemático nas versões anteriores. A figurinha acima tem um exemplo usando a ferramenta Ink (escrevi o Mouse Pen): dá para notar os efeitos da pressão.

Update para o Xorg 1.6.0

Para usar o novo Xorg 1.6, é preciso alterar o driver em uma linha de código. Eu usei

yaourt -Sb wizardpen
para recompilar o driver. Vai dar um erro de compilação:
wizardpen.c:659: error: too many arguments to function 'InitValuatorClassDeviceStruct'
Edite o arquivo /tmp/yaourt-tmp-tjpp/aur-wizardpen/wizardpen/src/wizardpen-0.6.1rc2/src/wizardpen.c e na linha 659, remova o argumento xf86GetMotionEvents:
if (InitValuatorClassDeviceStruct(dev,3,
     local->history_size,((priv->flags & ABSOLUTE_FLAG)? Absolute: Relative)|OutOfProximity)== FALSE)
Em /tmp/yaourt-tmp-tjpp/aur-wizardpen/wizardpen, rode o comando
makepkg -e
Finalmente instale o pacote criado
wizardpen-0.6.1rc2-2-x86_64.pkg.tar.gz
No meu caso, 64 bits.

Linkbacks

Use the following URL for manually sending trackbacks: http://profs.if.uff.br/tjpp/lib/plugins/linkback/exe/trackback.php/blog:entradas:genius-mousepen-no-arch-linux