「ペンタブレット」の版間の差分
(同期) |
|||
9行目: | 9行目: | ||
(USB デバイスの場合) タブレットを接続した後 {{ic|lsusb}} や {{ic|<nowiki>dmesg | grep -i wacom</nowiki>}} をチェックしてカーネルがタブレットを認識しているかどうか確認してください。また、タブレットが {{ic|/proc/bus/input/devices}} に記載されているはずです。 |
(USB デバイスの場合) タブレットを接続した後 {{ic|lsusb}} や {{ic|<nowiki>dmesg | grep -i wacom</nowiki>}} をチェックしてカーネルがタブレットを認識しているかどうか確認してください。また、タブレットが {{ic|/proc/bus/input/devices}} に記載されているはずです。 |
||
− | 現在のカーネルでサポートされていない新しいデバイスだと認識されないことがあります。 |
+ | 現在のカーネルでサポートされていない新しいデバイスだと認識されないことがあります。カーネルに付属しているドライバーよりも新しいドライバーによってタブレットがサポートされているかもしれません。その場合、[[AUR]] から {{AUR|input-wacom-dkms}} をインストールしてみてください。 |
=== Wacom ドライバーのインストール === |
=== Wacom ドライバーのインストール === |
||
264行目: | 264行目: | ||
ボタンとホットキーのマッピングを変更することが可能です。 |
ボタンとホットキーのマッピングを変更することが可能です。 |
||
+ | |||
+ | {{Tip|[http://planetedessonges.org:8010/wakey/ xsetwacom 用のシンプルなウェブベースの GUI] が存在します。現在サポートされているのは ''bamboo small'' ですが、他のモデルもサポートされる可能性があります。}} |
||
===== ボタン ID を見つけ出す ===== |
===== ボタン ID を見つけ出す ===== |
||
− | 場合によって適切なボタン ID を見つけるために試行錯誤が必要です。例えばボタン ID が {{ic|xsetwacom}} や {{ic|xorg.conf}} の設定と異なることがあります。そういう場合 {{ic|xev}} や {{ic|xbindkeys -mk}} などのツールがとても役に立ちます。 |
+ | 場合によって適切なボタン ID を見つけるために試行錯誤が必要です。例えばボタン ID が {{ic|xsetwacom}} や {{ic|xorg.conf}} の設定と異なることがあります。そういう場合 {{ic|xev}} や {{ic|xbindkeys -mk}} などのツールがとても役に立ちます。一時的にキーストロークをタブレットのボタンに割り当てるには: |
− | $ xsetwacom --get "Wacom Bamboo 16FG 4x5 Finger pad" Button 1 |
+ | $ xsetwacom --get "Wacom Bamboo 16FG 4x5 Finger pad" Button 1 'key a' |
− | $ xsetwacom --get "Wacom Bamboo 16FG 4x5 Finger pad" Button 2 |
+ | $ xsetwacom --get "Wacom Bamboo 16FG 4x5 Finger pad" Button 2 'key b' |
− | $ xsetwacom --get "Wacom Bamboo 16FG 4x5 Finger pad" Button 3 |
+ | $ xsetwacom --get "Wacom Bamboo 16FG 4x5 Finger pad" Button 3 'key c' |
$ # and so on |
$ # and so on |
||
− | ターミナルウィンドウから {{ic|xev}} を立ち上げ、ウィンドウ上にマウスカーソルを移動してボタンを押すと id が書き出されます |
+ | ターミナルウィンドウから {{ic|xev}} を立ち上げ、ウィンドウ上にマウスカーソルを移動してボタンを押すと id が書き出されます: |
+ | |||
+ | $ xev | grep KeyPress -A 5 |
||
===== 構文 ===== |
===== 構文 ===== |
||
320行目: | 324行目: | ||
}} |
}} |
||
− | {{Note|udev ルールから {{ic|xsetwacom}} コマンドでスクリプトを実行しても動作しません。この時点では wacom のインプットデバイスの準備ができていないからです。}} |
+ | {{Note|udev ルールから {{ic|xsetwacom}} コマンドでスクリプトを実行しても動作しません。この時点では wacom のインプットデバイスの準備ができていないからです。スクリプトの冒頭に {{ic|sleep 1}} を追加することで問題を回避できます。}} |
===== カスタムコマンドの実行 ===== |
===== カスタムコマンドの実行 ===== |
||
327行目: | 331行目: | ||
# pacman -S xbindkeys |
# pacman -S xbindkeys |
||
+ | ボタンのコードを定義するには、以下を永続的な設定ファイルに追加してください (例: {{ic|/etc/X11/xorg.conf.d/52-wacom-options.conf}} の '''pad''' デバイスの InputClass セクション)。タブレットのボタンを使用していないボタンの id にマップします: |
||
− | To get well defined button codes add the following to your permanent configuration file, e.g. {{ic|/etc/X11/xorg.conf.d/52-wacom-options.conf}} |
||
− | in the InputClass section of your '''pad''' device. Map the tablet's buttons to some unused button ids. |
||
# Setting up buttons (preferably choose the correct button order, so the topmost key is mapped to 10 and so on) |
# Setting up buttons (preferably choose the correct button order, so the topmost key is mapped to 10 and so on) |
||
336行目: | 339行目: | ||
Option "Button4" "13" |
Option "Button4" "13" |
||
− | + | そして ''Xorg'' サーバーを再起動して {{ic|xev}} や {{ic|xbindkeys -mk}} でボタンを確認してください。 |
|
+ | それから xbindkeys の設定を行います。デフォルトの設定ファイルが存在しない場合は作成すると良いでしょう: |
||
− | Now set up your xbindkeys configuration, if you don't already have one you might want to create a default configuration |
||
$ xbindkeys --defaults > ~/.xbindkeysrc |
$ xbindkeys --defaults > ~/.xbindkeysrc |
||
− | + | それからカスタムキーマップを {{ic|~/.xbindkeysrc}} に追加してください。例: |
|
"firefox" |
"firefox" |
||
438行目: | 441行目: | ||
== 特定のアプリケーションの設定 == |
== 特定のアプリケーションの設定 == |
||
+ | |||
+ | === Blender === |
||
+ | |||
+ | Blender でパッドのボタンやペンのボタンを有効にするには、xsetwacom のラッパーを作成して、Blender が起動している間だけ一時的にボタンをリマップします。 |
||
+ | |||
+ | '''Sculpt''' モードに適合させた例 (Bamboo Fun の場合): [http://pastebin.archlinux.fr/1887946 blender_sculpt.sh] |
||
+ | |||
+ | *左のタブレットボタンを '''Shift''' と '''Control''' ''(pan/tilt/zoom/smooth/invert)'' にマップ |
||
+ | *右のタブレットボタンを '''F''' ''(brush size/strenght)'' と '''Control-z''' ''(undo)'' にマップ |
||
+ | *上のペンのボタンを '''m''' ''(mask control)'' にマップ |
||
=== GIMP === |
=== GIMP === |
||
443行目: | 456行目: | ||
[http://www.gimp.org GIMP] で適切な使用法や、筆圧感知を有効にするには ''設定 → 入力デバイス → 追加された入力デバイスの設定...'' を見て下さい。''eraser'', ''stylus'', ''cursor'' の各デバイスの''モード''を''スクリーン''に設定して保存してください。 |
[http://www.gimp.org GIMP] で適切な使用法や、筆圧感知を有効にするには ''設定 → 入力デバイス → 追加された入力デバイスの設定...'' を見て下さい。''eraser'', ''stylus'', ''cursor'' の各デバイスの''モード''を''スクリーン''に設定して保存してください。 |
||
+ | *GIMP は ''pad'' ''device'' をサポートしていないので、存在する場合、無効にするようにしてください。もしくは、機能を使いたい場合 [http://hem.bredband.net/devel/wacom/ Wacom ExpressKeys] などのプログラムを使ってキーボードのコマンドにマッピングしてください。 |
||
− | *Please take note that if present, the ''pad'' ''device'' should be kept disabled as I do not think The GIMP supports such things. Alternatively, to use such features of your tablet you should map them to keyboard commands with a program such as [http://hem.bredband.net/devel/wacom/ Wacom ExpressKeys]. |
||
+ | *''stylus'' で選択されたツールは ''eraser'' のツールとは独立していることに注意してください。これはかなり便利に使うことができます。''eraser'' を自由なツールに設定できるからです。 |
||
− | *You should also take note that the tool selected for the ''stylus'' is independent to that of the ''eraser''. This can actually be quite handy, as you can have the ''eraser'' set to be used as any tool you like. |
||
詳しくは [http://www.gimptalk.com/forum/topic.php?t=17992&start=1 GIMP Talk - Community - Install Guide: Getting Wacom Drawing Tablets To Work In Gimp] の ''Setting up GIMP'' セクションを参照してください。 |
詳しくは [http://www.gimptalk.com/forum/topic.php?t=17992&start=1 GIMP Talk - Community - Install Guide: Getting Wacom Drawing Tablets To Work In Gimp] の ''Setting up GIMP'' セクションを参照してください。 |
||
+ | 上記の設定で不満の場合、{{ic|xinput create-master}} と {{ic|xinput reattach}} コマンドを使ってタブレットの stylus (と eraser) を2番目のマウスポインタとして設定してみてください。スタイラスペンでタブレットに触っても GIMP で絵を描けない場合に役立ちます。 |
||
− | If the above was not enough, you may want to try setting up the tablet's stylus (and eraser) as a second mouse pointer (separating it from your mouse) by using the {{ic|xinput create-master}} and {{ic|xinput reattach}} commands. It can help when GIMP doesn't start painting even if the stylus touches the tablet. |
||
=== Inkscape === |
=== Inkscape === |
||
467行目: | 480行目: | ||
=== ウェブブラウザのプラグイン === |
=== ウェブブラウザのプラグイン === |
||
− | 公式の Wacom ウェブプラグインと同じような機能を提供するプラグインが AUR に |
+ | 公式の Wacom ウェブプラグインと同じような機能を提供するプラグインが AUR に {{AUR|wacomwebplugin}}{{Broken package link|{{aur-mirror|wacomwebplugin}}}} としてあります。Chromium と Firefox で動くことが確認されています。 |
このプラグインを使うことで [http://sta.sh/muro/ deviantART の Muro] といったオンラインツールを利用することが可能です。プラグインの開発はまだ初期段階なので、上手く動くか保証はできません。 |
このプラグインを使うことで [http://sta.sh/muro/ deviantART の Muro] といったオンラインツールを利用することが可能です。プラグインの開発はまだ初期段階なので、上手く動くか保証はできません。 |
||
− | == |
+ | ==トラブルシューティング== |
+ | |||
+ | 新しいタブレットのドライバーはまだカーネルに存在しない可能性があり、特別な設定が必要になります。例えば新しい Intuos タブレット (Draw/Comic/Photo) などがそれにあたります。 |
||
+ | |||
+ | ===Unknown device_type=== |
||
+ | |||
+ | タブレットが {{ic|xsetwacom}} によって認識されず {{ic|dmesg}} が unknown device_type と吐く場合、input-wacom にパッチを適用したバージョンをインストールする必要があります。 |
||
+ | |||
+ | [http://sourceforge.net/p/linuxwacom/input-wacom/ci/jiri/for-4.4/~/tarball SourceForge] から 4.4 ブランチをダウンロード・インストールしてください。以下を実行することで、デバイスが認識されるようになります: |
||
+ | |||
+ | # rmmod wacom |
||
+ | # insmod /lib/modules/YOUR_KERNEL/extra/wacom.ko.gz |
||
+ | |||
+ | ===システムがフリーズする=== |
||
+ | stylus でタブレットを有効にしたときにシステムがフリーズする場合、[https://lkml.org/lkml/2015/11/20/690 LKML] に投稿されているパッチをカーネルに[[ABS でパッチを適用|適用]]してください。 |
||
− | Newer tablets's drivers might not be in the kernel yet, and additional manipulations might be needed. |
||
− | For example, for the Wacom Bamboo Connect CTL-470/k and Pen & Touch CTH670, follow the instructions in [https://bbs.archlinux.org/viewtopic.php?id=131831 this thread]. There seems to be a problem with the CTH670 that is fixed in the attachment found in [http://www.mail-archive.com/linuxwacom-devel@lists.sourceforge.net/msg03922.html this post]. To compile it use the same instructions as in [https://bbs.archlinux.org/viewtopic.php?id=131831 this thread]. |
||
== 参照 == |
== 参照 == |
2016年3月15日 (火) 01:11時点における版
まず、このガイドでは USB を使う Wacom タブレットを念頭に置いているということを提示しておきます。そのため、ここに書かれている情報は基本的に USB のタブレットに焦点があてられています。通常は Xorg の自動検出や動的な設定を使うことが推奨されています。しかしながら内蔵のタブレットデバイスでは、自動検出が動作しないために固定的な Xorg の設定を使うことを考えるかもしれません。固定的な Xorg の設定は、異なる USB ポートに Wacom タブレットが接続されたり、同じポートでもタブレットの抜き差しをすると基本的にタブレットを認識できなくなります。従って固定的な設定は推奨されないものだと考えて下さい。
インストール
カーネルドライバーが必要かどうか確認する (通常は必要ありません)
(USB デバイスの場合) タブレットを接続した後 lsusb
や dmesg | grep -i wacom
をチェックしてカーネルがタブレットを認識しているかどうか確認してください。また、タブレットが /proc/bus/input/devices
に記載されているはずです。
現在のカーネルでサポートされていない新しいデバイスだと認識されないことがあります。カーネルに付属しているドライバーよりも新しいドライバーによってタブレットがサポートされているかもしれません。その場合、AUR から input-wacom-dkmsAUR をインストールしてみてください。
Wacom ドライバーのインストール
Linux Wacom Project のおかげで、Linux で Wacom タブレットを使うために必要なものが全て含まれている xf86-input-wacom パッケージをインストールするだけです。
# pacman -S xf86-input-wacom
自動設定
新しいバージョンの X は自動でデバイスを検出・設定することができます。先に進む前に、X を再起動して新しい udev ルールを適用してください。次のコマンドを実行して、デバイスがちゃんと認識されているか (ペンと消しゴムが機能するか) テストしてください:
$ xsetwacom --list devices
全てのデバイスとタイプが検出されるはずです、例:
Wacom Bamboo 2FG 4x5 Pen stylus id: 8 type: STYLUS Wacom Bamboo 2FG 4x5 Pen eraser id: 9 type: ERASER Wacom Bamboo 2FG 4x5 Finger touch id: 13 type: TOUCH Wacom Bamboo 2FG 4x5 Finger pad id: 14 type: PAD
また、gimp や xournal を開いて拡張入力デバイスのセクションを確認したり、使っているソフトウェアによってサポートされているタブレット関連の機能をテストすることもできます。
タブレットを動かすために xorg.conf
ファイルは必要ありません、全ての設定は /etc/X11/xorg.conf.d/
フォルダ下のファイルに作られます。
全てが動作するようでしたら手動設定をスキップしてタブレットをカスタマイズする方法を示している設定セクションまで進んで下さい。
Xorg 1.8 から HAL のサポートがなくなり代わりに udev が使われるようになったため、タブレットによっては適切な udev ルールがないために自動検出がされてないことがあります。その場合は自分でルールを書く必要があります。
libwacom や libwacom-fedoraAUR をインストールしている場合は先にそれらのパッケージを削除してください。これらのパッケージは新しいバージョンの X で問題が発生します。インストールする必要がある X11 ドライバーは xf86-input-wacom だけです。
手動設定
手動設定は /etc/X11/xorg.conf
や /etc/X11/xorg.conf.d/
ディレクトリ下のファイルで行います。
Wacom タブレットデバイスにはカーネルドライバーによって提供されている /dev/input/
のインプットイベントインターフェイスを使ってアクセスします。
タブレットを同じ、もしくは異なる USB ポートに抜き差しするとインターフェイス番号 event??
は変化します。
そのため。デバイスを参照するときは決まった event??
インターフェイス (固定設定) を使うのではなく適切な event
ファイルに動的にシンボリックリンクを作成 (動的設定) するように udev を設定した方が良いでしょう。
udev による動的設定
おそらく udev は既にインストールされていると思うので後は AUR の wacom-udevAUR をインストールするだけです。
USB デバイス
USB タブレットを挿入(もしくは再起動)するとあなたのタブレットデバイスを示すシンボリックリンクが /dev/input
に現れるはずです。
$ ls /dev/input/wacom* /dev/input/wacom /dev/input/wacom-stylus /dev/input/wacom-touch
存在しない場合、デバイスが wacom-udev の udev 設定 (/usr/lib/udev/rules.d/10-wacom.rules
) にまだ含まれていないことを意味します。ファイルに修正を加える前に 10-my-wacom.rules
などにコピーしておいて、パッケージを更新した時も戻せるようにしておくと良いでしょう。
他のデバイスの行を複製して idVendor,idProduct とシンボリックリンクの名前をあなたの使っているデバイスのものに修正してデバイスをファイルに追加してください。 この2つの id は次のコマンドで調べられます:
$ lsusb | grep -i wacom Bus 002 Device 007: ID 056a:0062 Wacom Co., Ltd
この例では idVendor は 056a で idProduct は 0062 になります。 タッチがあるデバイス (例: Bamboo Pen&Touch) を使っている場合は、タッチ入力インターフェイスの行を追加する必要があるかもしれません。 詳細は linuxwacom wiki の Fixed device files with udev をチェックしてください。
ファイルを保存してコマンド udevadm control --reload-rules を使って udev の設定プロファイルをリロードしてください。 /dev/input の中身を見て wacom シンボリックリンクが作られていることを確認してください。 デバイスを認識させるためにタブレットを挿し直す必要があるかもしれません。
Xorg の設定のためのファイルは /dev/input/wacom
でタッチデバイスは /dev/input/wacom_touch
です。
シリアルデバイス
wacom-udevAUR にはシリアルデバイスのサポートも含まれています。シリアルタブレットのユーザーは linuxconsole パッケージに入っている inputattach ツールを使うことができます。inputattach コマンドを使うことによってシリアルデバイスを /dev/input ツリーに結びつけることができます、例えば:
# inputattach --w8001 /dev/ttyS0
利用可能なオプションについては man inputattach を見て下さい。
USB デバイスなので /dev/input/wacom
ファイルを使います。Xorg の設定に進んで下さい。
固定設定
固定設定をする場合は次のセクションの Xorg 設定のタブレットを参照してください。適切な /dev/input/event??
ファイルを使って下さい。/proc/bus/input/devices
を見ることでわかります。
Xorg の設定
動的・固定設定どちらの場合でも、/dev/input/
にタブレットの適切な入力イベントデバイスを示すファイルが1つか2つ出来ています。後は関連する情報を /etc/X11/xorg.conf
に追加するか、/etc/X11/xorg.conf.d/
下の適当なファイルに追加するだけです。
実際の設定はあなたの使っているタブレットの機能によります。xsetwacom --list devices
を使うことでタブレットに必要な InputDevice セクションが何かという役に立つ情報が得られます。
Volito2 の設定例は以下のようになります:
Section "InputDevice" Driver "wacom" Identifier "stylus" Option "Device" "/dev/input/wacom" # or the corresponding event?? for a static setup Option "Type" "stylus" Option "USB" "on" # USB ONLY Option "Mode" "Relative" # other option: "Absolute" Option "Vendor" "WACOM" Option "tilt" "on" # add this if your tablet supports tilt Option "Threshold" "5" # the official linuxwacom howto advises this line EndSection Section "InputDevice" Driver "wacom" Identifier "eraser" Option "Device" "/dev/input/wacom" # or the corresponding event?? for a static setup Option "Type" "eraser" Option "USB" "on" # USB ONLY Option "Mode" "Relative" # other option: "Absolute" Option "Vendor" "WACOM" Option "tilt" "on" # add this if your tablet supports tilt Option "Threshold" "5" # the official linuxwacom howto advises this line EndSection Section "InputDevice" Driver "wacom" Identifier "cursor" Option "Device" "/dev/input/wacom" # or the corresponding event?? for a static setup Option "Type" "cursor" Option "USB" "on" # USB ONLY Option "Mode" "Relative" # other option: "Absolute" Option "Vendor" "WACOM" EndSection
パス ("Device"
) も使っているマウスに変更してください、ここでは /dev/input/mouse_udev
になります。
Section "InputDevice" Identifier "Mouse1" Driver "mouse" Option "CorePointer" Option "Device" "/dev/input/mouse_udev" Option "SendCoreEvents" "true" Option "Protocol" "IMPS/2" Option "ZAxisMapping" "4 5" Option "Buttons" "5" EndSection
ServerLayout セクションに以下を追加してください:
InputDevice "cursor" "SendCoreEvents" InputDevice "stylus" "SendCoreEvents" InputDevice "eraser" "SendCoreEvents"
最後に ServerLayout セクションでマウスの識別子を更新してください – 例えば
InputDevice "Mouse0" "CorePointer"
を次のように変更します
InputDevice "Mouse1" "CorePointer"
設定
全体的な概念
設定方法は2つあり、一時的な設定には xf86-input-wacom に含まれている `xsetwacom` ツールを使い、永続的な設定には xorg.conf
もしくは /etc/X11/xorg.conf.d
内のファイルを使います。
利用できるオプションは同じため、まずは `xsetwacom` を使ってテストし、それから最終的な設定を Xorg の設定ファイルに追加するのを推奨します。
一時的な設定
初めにデフォルトの設定と利用できるオプションを全て確認すると良いでしょう。以下のコマンドを使います。
$ xsetwacom --list devices # get/set コマンドで利用できるデバイスを一覧します Wacom Bamboo 16FG 4x5 Finger touch id: 12 type: TOUCH Wacom Bamboo 16FG 4x5 Finger pad id: 13 type: PAD Wacom Bamboo 16FG 4x5 Pen stylus id: 17 type: STYLUS Wacom Bamboo 16FG 4x5 Pen eraser id: 18 type: ERASER $ xsetwacom --get "Wacom Bamboo 16FG 4x5" all # デバイスの名前を使います $ xsetwacom --get 17 all # もしくはデバイス id を使います $ xsetwacom --list parameters # オプションの説明を表示します $ man wacom # さらに詳しい説明を表示します
オプションは --set
フラグを使って変更できます。例えば:
$ xsetwacom --set "Wacom Bamboo 16FG 4x5 Finger touch" ScrollDistance 50 # スクロールの速度を変更します $ xsetwacom --set "Wacom Bamboo 16FG 4x5 Finger touch" Gesture off # マルチタッチジェスチャーを無効にします $ xsetwacom --set "Wacom Bamboo 16FG 4x5 Finger touch" Touch off # タッチを無効にします
詳しい設定については下の #特定の設定のヒント を見て下さい。
永続的な設定
Xorg 1.8 以上で永続的な設定をするときは /etc/X11/xorg.conf.d
に新しいファイルを作成するのが推奨されています (例: 52-wacom-options.conf
)。
/etc/X11/xorg.conf.d/52-wacom-options.conf
Section "InputClass" Identifier "Wacom Bamboo stylus options" MatchDriver "wacom" MatchProduct "Pen" # Apply custom Options to this device below. Option "Rotate" "none" Option "RawSample" "20" Option "PressCurve" "0,10,90,100" EndSection Section "InputClass" Identifier "Wacom Bamboo eraser options" MatchDriver "wacom" MatchProduct "eraser" # Apply custom Options to this device below. Option "Rotate" "none" Option "RawSample" "20" Option "PressCurve" "5,0,100,95" EndSection Section "InputClass" Identifier "Wacom Bamboo touch options" MatchDriver "wacom" MatchProduct "Finger" # Apply custom Options to this device below. Option "Rotate" "none" Option "ScrollDistance" "18" Option "TapTime" "220" EndSection Section "InputClass" Identifier "Wacom Bamboo pad options" MatchDriver "wacom" MatchProduct "pad" # Apply custom Options to this device below. Option "Rotate" "none" # Setting up buttons Option "Button1" "1" Option "Button2" "2" Option "Button3" "3" Option "Button4" "0" EndSection
identifier は自由に設定することができます。オプションの名前は xsetwacom --list parameters
で表示されるものや man wacom
で説明されているものと (ボタンを除いて) 同じです。#ボタンの再マッピング で説明しているとおり、ボタンの id は xsetwacom
のものと異なるようです。
向きを変更する
タブレットを異なる向きで使いたいときはドライバーに向きの設定をする必要があります。そうしないと動きがおかしなことになってしまいます。 全てのデバイスに Rotate オプションを設定することで向きを変更できます。利用できる方向は none,cw,ccw, half です。 例えば:
$ for i in 12 13 17 18; do xsetwacom --set $i Rotate half; done # remember the ids might change when hotplugging
もしくは ./wacomrot.sh half
のように以下のスクリプトを使って下さい:
wacomrot.sh
#!/bin/bash device="Wacom Bamboo 16FG 4x5" stylus="$device Pen stylus" eraser="$device Pen eraser" touch="$device Finger touch" pad="$device Finger pad" xsetwacom --set "$stylus" Rotate $1 xsetwacom --set "$eraser" Rotate $1 xsetwacom --set "$touch" Rotate $1 xsetwacom --set "$pad" Rotate $1
ボタンの再マッピング
ボタンとホットキーのマッピングを変更することが可能です。
ボタン ID を見つけ出す
場合によって適切なボタン ID を見つけるために試行錯誤が必要です。例えばボタン ID が xsetwacom
や xorg.conf
の設定と異なることがあります。そういう場合 xev
や xbindkeys -mk
などのツールがとても役に立ちます。一時的にキーストロークをタブレットのボタンに割り当てるには:
$ xsetwacom --get "Wacom Bamboo 16FG 4x5 Finger pad" Button 1 'key a' $ xsetwacom --get "Wacom Bamboo 16FG 4x5 Finger pad" Button 2 'key b' $ xsetwacom --get "Wacom Bamboo 16FG 4x5 Finger pad" Button 3 'key c' $ # and so on
ターミナルウィンドウから xev
を立ち上げ、ウィンドウ上にマウスカーソルを移動してボタンを押すと id が書き出されます:
$ xev | grep KeyPress -A 5
構文
xsetwacom
の構文は柔軟性がありますが、あまりドキュメントがまとまっていません。xsetwacom 0.17.0 の一般的なマッピングの構文は以下の通りです (ソースコードより)。
KEYWORD [ARGS...] [KEYWORD [ARGS...] ...] KEYWORD + ARGS: key [+,-]KEY [[+,-]KEY ...] where +:key down, -:key up, no prefix:down and up button BUTTON [BUTTON ...] (1=left,2=middle,3=right mouse button, 4/5 scroll mouse wheel) modetoggle toggle absolute/relative tablet mode displaytoggle toggle cursor movement among all displays which include individual screens plus the whole desktop for the selected tool if it is not a pad. When the tool is a pad, the function applies to all tools that are asssociated with the tablet BUTTON: button ID as integer number KEY: MODIFIER, SPECIALKEY or ASCIIKEY MODIFIER: (each can be prefix with an l or an r for the left/right modifier (no prefix = left) ctrl=ctl=control, meta, alt, shift, super, hyper SPECIALKEY: f1-f35, esc=Esc, up,down,left,right, backspace=Backspace, tab, PgUp,PgDn ASCIIKEY: (usual characters the key produces, e.g. a,b,c,1,2,3 etc.)
サンプル
$ xsetwacom --get "Wacom Bamboo 16FG 4x5 Finger pad" Button 1 3 # right mouse button $ xsetwacom --set "Wacom Bamboo 16FG 4x5 Finger pad" Button 1 "key +ctrl z -ctrl" $ xsetwacom --get "Wacom Bamboo 16FG 4x5 Finger pad" Button 1 key +Control_L +z -z -Control_L $ xsetwacom --set "Wacom Bamboo 16FG 4x5 Finger pad" Button 1 "key +shift button 1 key -shift"
マクロを使うこともできます:
$ xsetwacom --set "Wacom Bamboo 16FG 4x5 Finger pad" Button 1 "key +shift h -shift e l l o"
カスタムコマンドの実行
ボタンにカスタムコマンドをマップするのは少々厄介ですが実際はとてもシンプルです。xbindkeys が必要になるので次のコマンドでインストールしてください:
# pacman -S xbindkeys
ボタンのコードを定義するには、以下を永続的な設定ファイルに追加してください (例: /etc/X11/xorg.conf.d/52-wacom-options.conf
の pad デバイスの InputClass セクション)。タブレットのボタンを使用していないボタンの id にマップします:
# Setting up buttons (preferably choose the correct button order, so the topmost key is mapped to 10 and so on) Option "Button1" "10" Option "Button2" "11" Option "Button3" "12" Option "Button4" "13"
そして Xorg サーバーを再起動して xev
や xbindkeys -mk
でボタンを確認してください。
それから xbindkeys の設定を行います。デフォルトの設定ファイルが存在しない場合は作成すると良いでしょう:
$ xbindkeys --defaults > ~/.xbindkeysrc
それからカスタムキーマップを ~/.xbindkeysrc
に追加してください。例:
"firefox" m:0x10 + b:10 (mouse) "xterm" m:0x10 + b:11 (mouse) "xdotool key ctrl-z" m:0x10 + b:12 (mouse) "send-notify Test "No need for escaping the quotes"" m:0x10 + b:13 (mouse)
LED
sysfs-driver-wacom ドキュメントを見て下さい。root 権限なしで変更できるようにするには以下のような udev ルールを作成します:
/etc/udev/rules.d/99-wacom.rules
# Give the users group permissions to set Wacom device LEDs. ACTION=="add", SUBSYSTEM=="hid", DRIVERS=="wacom", RUN+="/usr/bin/sh -c 'chown :users /sys/%p/wacom_led/*'"
Intuos の OLED は AUR の i4oledAUR を使って設定できます。
TwinView セットアップ
2つのモニターでタブレットを使用するとアスペクト比が不自然に感じられることがあります。これを修正するには xorg.conf
ファイルの全ての Wacom-InputDevice エントリに以下を追加してください:
Option "TwinView" "horizontal"
詳しくは こちら を参照。
TwinView の一時的なセットアップ
アスペクト比を維持しつつ、一時的に Wacom デバイスをシングルディスプレイにマッピングしたい場合、このスクリプト を使うことができます。ディスプレイ上に入力が引き伸ばされないように、必要に応じてデバイスにレターボックスを設定します。.xinitrc
ファイルなどから自動的に実行させることも可能です。
Xrandr の設定
xrandr は2つのモニターを1つの大きな画面として設定するので、仮想スクリーン全体にタブレットをマップするとアスペクト比が変形してしまいます。解決方法は次のスレッドを見て下さい: archlinux forum。
If you just want to map the tablet to one of your screens, first find out what the screens are called
$ xrandr Screen 0: minimum 320 x 200, current 3840 x 1080, maximum 16384 x 16384 HDMI-0 disconnected (normal left inverted right x axis y axis) DVI-0 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 477mm x 268mm 1920x1080 60.0*+ 1680x1050 60.0 ... VGA-0 connected 1920x1080+1920+0 (normal left inverted right x axis y axis) 477mm x 268mm 1920x1080 60.0*+ 1680x1050 60.0 ...
Then you need to know what is the ID of your tablet.
$ xsetwacom --list devices WALTOP International Corp. Slim Tablet stylus id: 12 type: STYLUS
In my case I want to map the tablet (ID: 12) to the screen on the right, which is "VGA-0". I can do that with this command
$ xsetwacom --set 12 MapToOutput "VGA-0"
This should immediately work, no root necessary.
If xsetwacom replies with "Unable to find an output ..." an X11 geometry string of the form WIDTHxHEIGHT+X+Y can be specified instead of the screen identifier. In this example
$ xsetwacom --set 12 MapToOutput "1920x1080+1920+0"
should also map the tablet to the screen on the right.
Alternatively, you can use this bash script to quickly map the tablet to one of your screens (or the entire desktop) and fix the aspect ratio.
筆圧曲線
Wacom Pressure Demo を使って望ましい曲線の P1=red (例: 50,0), P2=purple (例: 100,80), Threshold=green (例: 27) を見つけてください。X 軸はあなたがペンにかける入力圧で、Y 軸はアプリケーションが感知する出力圧です (サンプル曲線)。
以下のコマンドを使うことで、即座に値をデバイスでテストすることができます (例: "Wacom Intuos4 6x9 stylus"):
$ xsetwacom --set "Wacom Intuos4 6x9 stylus" PressureCurve "50" "0" "100" "80" $ xsetwacom --set "Wacom Intuos4 6x9 stylus" Threshold "27"
満足のいく値が見つかったら以下のように /etc/X11/xorg.conf
で適用するか、スタートアップスクリプトで上のシェルコマンドを実行するようにします:
/etc/X11/xorg.conf
Option "PressCurve" "50,0,100,80" # Custom preference Option "Threshold" "27" # sensitivity to do a "click"
縦横比を保持
For standard (16:9) widescreen monitors with Wacom tablets it is a typical problem that your strokes are slightly more horizontally oriented than they physically were (so for example a perfectly drawn circle with the pen will turn into a horizontal ellipse in the computer) because the tablet drawing surface proportions are larger on the vertical axis by default (16:10) than your monitors aspect ratio and this inconsistency will subtly distort your strokes. It is possible to force the proportions of the drawing surface to match the aspect ratio of your monitor to solve this problem by cutting off the bottom of the drawing surface to accommodate for the differences in vertical resolution with the below options. This is an alternative to the "Force Proportions" option in the Windows driver settings. It is generally recommended to do this to ensure maximum accuracy of your tablet input.
To get the tablets default values run the following command (where "device name or ID" would be for your stylus):
$ xsetwacom --get "device name or ID" Area
After this you can figure out your tablet's resolution by dividing the values with the ratio 11.25 (so 21600/11.25=1920 and 13500/11.25=1200), so to convert this to 1920x1080 (16:9) resolution, do 1080*11.25=12150 then to set the proportions with xsetwacom:
$ xsetwacom --set "device name or ID" Area 0 0 21600 12150
Here is how to do the same in the xorg configuration file:
Option "BottomX" "21600" Option "BottomY" "12150"
kcm-wacomtablet を使う
KDE の設定モジュール kcm-wacomtabletAUR (もしくは Plasma 5 を使っている場合、kcm-wacomtablet-frameworks-gitAUR) を使うことでグラフィカルなユーザーインターフェイスでタブレットの簡単な設定を行うことができます。プロファイルを変更したりホットプラグの適切なサポートができます。タブレットのタイプが自動で検出され、タブレットが接続されたときに自動で設定プロファイルがロードされます。
特定のアプリケーションの設定
Blender
Blender でパッドのボタンやペンのボタンを有効にするには、xsetwacom のラッパーを作成して、Blender が起動している間だけ一時的にボタンをリマップします。
Sculpt モードに適合させた例 (Bamboo Fun の場合): blender_sculpt.sh
- 左のタブレットボタンを Shift と Control (pan/tilt/zoom/smooth/invert) にマップ
- 右のタブレットボタンを F (brush size/strenght) と Control-z (undo) にマップ
- 上のペンのボタンを m (mask control) にマップ
GIMP
GIMP で適切な使用法や、筆圧感知を有効にするには 設定 → 入力デバイス → 追加された入力デバイスの設定... を見て下さい。eraser, stylus, cursor の各デバイスのモードをスクリーンに設定して保存してください。
- GIMP は pad device をサポートしていないので、存在する場合、無効にするようにしてください。もしくは、機能を使いたい場合 Wacom ExpressKeys などのプログラムを使ってキーボードのコマンドにマッピングしてください。
- stylus で選択されたツールは eraser のツールとは独立していることに注意してください。これはかなり便利に使うことができます。eraser を自由なツールに設定できるからです。
詳しくは GIMP Talk - Community - Install Guide: Getting Wacom Drawing Tablets To Work In Gimp の Setting up GIMP セクションを参照してください。
上記の設定で不満の場合、xinput create-master
と xinput reattach
コマンドを使ってタブレットの stylus (と eraser) を2番目のマウスポインタとして設定してみてください。スタイラスペンでタブレットに触っても GIMP で絵を描けない場合に役立ちます。
Inkscape
GIMP と同じように、ファイル → 入力デバイス... を見て下さい。eraser, stylus, cursor の各デバイスのモードをスクリーンに設定して保存してください。
Krita
Krita でタブレットを使って絵を描けない場合 (クリックや筆圧が反映されない)、ブラシ選択ダイアログの小さなスクラッチパッドは使えるときは、Krita をフルスクリーンまたはキャンバスオンリーモードにしてみてください。
Krita ではタブレットを使うために Qt を正しく設定する必要があります。タブレットが Krita で動作しない場合、まず Qt でタブレットがちゃんと動作するか確認してください。タブレットの筆圧の効果は painttop 設定で調整することができます。例えば透明度や筆圧、カーブなどを設定できます。
VirtualBox
まず、Arch でタブレットが問題なく動作しているか確認してください。それから、Wacom のウェブサイト からゲスト OS の最新ドライバーをダウンロード・インストールしてください。仮想マシンをシャットダウンして、Settings > USB を開いて下さい。Add Filter From Device を選択してあなたの使っているタブレットを選びます (例: WACOM CTE-440-U V4.0-3 [0403])。Edit Filter を選択して、最後のアイテム Remote を Any に変更してください。
ウェブブラウザのプラグイン
公式の Wacom ウェブプラグインと同じような機能を提供するプラグインが AUR に wacomwebpluginAUR[リンク切れ: アーカイブ: aur-mirror] としてあります。Chromium と Firefox で動くことが確認されています。
このプラグインを使うことで deviantART の Muro といったオンラインツールを利用することが可能です。プラグインの開発はまだ初期段階なので、上手く動くか保証はできません。
トラブルシューティング
新しいタブレットのドライバーはまだカーネルに存在しない可能性があり、特別な設定が必要になります。例えば新しい Intuos タブレット (Draw/Comic/Photo) などがそれにあたります。
Unknown device_type
タブレットが xsetwacom
によって認識されず dmesg
が unknown device_type と吐く場合、input-wacom にパッチを適用したバージョンをインストールする必要があります。
SourceForge から 4.4 ブランチをダウンロード・インストールしてください。以下を実行することで、デバイスが認識されるようになります:
# rmmod wacom # insmod /lib/modules/YOUR_KERNEL/extra/wacom.ko.gz
システムがフリーズする
stylus でタブレットを有効にしたときにシステムがフリーズする場合、LKML に投稿されているパッチをカーネルに適用してください。