PDA

Vollständige Version anzeigen : Tasten vom Hanvon Artmaster 1209 Grafiktablett konfigurieren?


Frisco
12.01.2013, 20:53
Hallo zusammen,

ich habe o.g. Grafiktablett, dass auch grundsätzlich läuft (eigener Treiber hanvon.ko (v0.5), nicht wacom!) und das in GIMP (2.8) unter Ubuntu (12.10) auch in den Eingabegeräten angezeigt wird (und in Eingabesteuerung::Linux Eingabe auch im Drop-Down auftaucht).

Zeichnen kann ich damit, allerdings mit zwei Einschränkungen:
1. DualMonitor gibt Ellipsen statt Kreise, Einstellung Fenster statt Bildschirm führt aber dazu dass der Stiftcurser nicht mit der Position der Pinselspitze übereinstimmt. Bei Wacom kann man das wohl in einer xorg-Konf. ändern. Das ginge ja noch, dann würde ich eben auf Single-Monitor umstellen.

2. Die Tasten (Expresskeys) lassen sich nicht belegen, zumindest kriege ich es nicht hin. xev und evtest zeigen mir, dass die Tasten grundsätzlich funktionieren. In GIMP bei den Eingabegeräten gibt es Feld Tasten im Konfigurationsdialog für das Hanvon, aber ein Tastendruck am Tablett führt zu nichts - vielleicht bediene ich das auch falsch. Die Hilfeseite dazu ist leider leer (Anhang D) ;-) Auch mit Bearbeiten::Tastenkombinationen komme ich nicht weiter.

Ich habe mich auch schon an xbindkeys und xmodmap versucht, leider aber auch ohne Erfolg.

Könnt ihr mir sagen ob - und wie(!) - sich das lösen läßt, dass ich auf Tasten vom Tablett GIMP-Funktionen wie x (swap colors), Zoom in/out etc. legen kann?

Danke & viele Grüße!
Frisco

Noch ein paar Debug-Infos:


# xev |egrep "button|btn"
state 0x10, button 1, same_screen YES
state 0x110, button 1, same_screen YES
state 0x10, button 10, same_screen YES
state 0x10, button 10, same_screen YES
state 0x10, button 11, same_screen YES
state 0x10, button 11, same_screen YES
state 0x10, button 12, same_screen YES
state 0x10, button 12, same_screen YES
state 0x10, button 1, same_screen YES
state 0x110, button 1, same_screen YES
state 0x10, button 2, same_screen YES
state 0x210, button 2, same_screen YES
state 0x10, button 3, same_screen YES
state 0x410, button 3, same_screen YES
state 0x10, button 8, same_screen YES
state 0x10, button 8, same_screen YES

# evtest
Event: time 1357998675.963268, type 2 (EV_REL), code 8 (REL_WHEEL), value -1
Event: time 1357998675.963269, -------------- SYN_REPORT ------------
Event: time 1357998682.886980, type 2 (EV_REL), code 8 (REL_WHEEL), value 1
Event: time 1357998682.886983, -------------- SYN_REPORT ------------
Event: time 1357998689.574737, type 1 (EV_KEY), code 261 (BTN_5), value 1
Event: time 1357998689.574741, -------------- SYN_REPORT ------------
Event: time 1357998689.826725, type 1 (EV_KEY), code 261 (BTN_5), value 0
Event: time 1357998689.826727, -------------- SYN_REPORT ------------

Frisco
12.01.2013, 23:14
Ich hab jetzt mal gimp als root gestartet, und dann kann ich unter Bearbeiten::Eingabesteuerung::Linux-Eingabe Tasten zuweisen, wenn ich das Hanvon im Drop-Down auswähle.

In der Shell wird z.B. Folgendes ausgegeben, wenn man mitprotokollieren auswählt:

linux_input_read_event: EV_KEY code = 0x107
Received 'Hanvon Artmaster I tablet' (class 'Linux-Eingabe')
controller event 'button-7 (Taste 7)'
(trigger event)
doesn't map to action


Wenn es als root klappt, nicht aber als User, scheint es ja mit Rechten zu tun zu haben - muss vielleicht der User Schreibrechte auf das entsprechende Gerät haben (bei mir: /dev/input/event4: Hanvon Artmaster I tablet), damit Tastaturkürzel übernommen werden?

Und was muss ich tun, damit das Tastenkürzel nicht nur gilt, solange ich die Taste drücke, sondern auch noch wenn ich Sie losgelassen habe? Swap Colors wechselt beim Drücken, und dann nochmal beim Loslassen - das macht wenig Sinn, da muss ich die Taste gedrückt halten um mit der anderen Farbe zu malen.

Frisco

Frisco
14.01.2013, 15:00
Also, mal für die Nachwelt, wenn der Rest gelöst ist ergänze ich das noch, ist vielleicht auch für andere non-wacoms relevant:

Nachdem ich als root schreibenden Zugriff hatte, sprich Tastenkürzel konfigurieren konnte (s.o.), habe ich mich daran gemacht das für User zu konfigurieren, das ging mit einer udev-Regel:

# cat /etc/udev/rules.d/99-hanvon-tablet-am1209.rules
ATTR{idVendor}=="0b57", ATTR{idProduct}=="8501", MODE="0660", GROUP="users"
KERNEL=="event4", MODE="0660", GROUP="users"Vendor und Product kommen von lsusb:
Bus 005 Device 003: ID 0b57:8501 Beijing HanwangTechnology Co., Ltd

Dann hatte ich ja das Problem, dass ich durch mein Multimonitorsystem andere Seitenverhältnisse auf dem "Gesamtbildschirm" als auf dem Hanvon habe (mein "Kreis-Ellipse-Problem").

Claw sei Dank (http://claw.triple6.org/linux/hanvon-art-master/) habe ich auch dafür eine Lösung gefunden und über eine xorg-Konf. hoffentlich auch dauerhaft gemacht:

# cat /etc/X11/xorg.conf.d/99-hanvon-artmaster-1209.conf
Section "InputClass"
Identifier "hanvon-artmaster-1209-tablet"
MatchProduct "Hanvon Artmaster I tablet"
Option "Transformation Matrix" 1 0 0 0 2.23 0 0 0 1
EndSection
Entscheidend ist hier der Wert 2.23, den ich folgendermaßen errechnet habe:

Meine Monitor haben 1280x1024 und 1920x1080, gesamt also 3200x1024, was einem Seitenverhältnis von 1:2.96 entspricht.
Das Hanvon hat 1:1.33 (3:4).
Damit hat der Monitor ein um den Faktor 2.23x so großes Seitenverhältnis wie das Hanvon (2.96/1.33=2.23) - gerundet, so genau male ich ohnehin nicht, auch wenn xinput mit mehr Dezimalstellen umgehen kann.

ToDo:
Was noch bleibt, ist das nach der Tastenbelegung in GIMP auch die Standardtastenbelegung erhalten bleibt - so hat bspw. die Taste 1 (2 Taste von oben rechts) die Belegung Leertaste, was in GIMP zum Verschieben dient - das bleibt, auch wenn ich eine eigene Belegung unter Linux-Eingabe vergebe, so dass die Taste zwei Funktionen gleichzeitig hat.

Außerdem werden alle Tastendrücke 2x interpretiert, einmal beim Drücken, einmal beim Loslassen - was wie beschrieben bspw. beim Farbwechsler gewöhnungsbedürftig ist.

Toll wäre auch, die Tasten mit Tastaturcodes wie "STRG" belegen zu können, dann könnte man andere Tasten mehrfach benutzen (Scrolltaste zum Zoomen, STRG+Scrolltaste zum Ändern der Größe der Pinselspitze).

Was nicht geht ist der Radiergummi - der scheint aber vom Linux-Treiber nicht interpretiert zu werden, sprich er gibt gar keinen Code an xev oder evtest zurück, ist also nicht in GIMP lösbar.

Frisco