xsetwacom

Linux Wacom Project 公式サイトの xsetwacom 解説ページの翻訳。

最終更新:2010年8月30日

公式サイト:http://linuxwacom.sourceforge.net/

xsetwacom 解説ページ原文: Command Line Configuration Interface (xsetwacom)


xsetwacom は、コマンドラインのWacomドライバ設定調整ツールです。
XF86Configや xorg.confファイルを手動で編集することなく、筆圧感度やクリックの閾値、ボタン割り当て、カーソルのモードと速度などの変更ができます。

コマンド man xsetwacom の実行により、基本的な使用方法とオプションが閲覧できます。

留意点: デバイスの識別子(デバイス名)は、大文字小文字が区別されます。
使用するデバイス名は、xsetwacom list で表示されるものと完全に同一であることが必要です。
このページの用例では、Stylus、Cursor、Pad の使用を仮定します。

[jej@ayukawa linuxwacom]$xsetwacom
使用法: xsetwacom [オプション] [コマンド [引数…]]
オプション:
-h, --help – 使用法の表示
-v, --verbose – 詳細出力
-V,--version – バージョン情報
-d, --display ディスプレイ名  – デフォルトのディスプレイの上書き
-s, --shell – ‘get’ コマンドでシェルコマンドを生成
-x, --xconf – ‘get’ コマンドで X.conf 行を生成

コマンド:
list [dev|param]      – 認識されているデバイス(dev)やパラメータ(param)の表示
list mod                   – キーストロークのためにサポートしている修飾キーや特殊キーの表示(訳注:xf86-input-wacom 0.10.8 以降でサポートかと)
set デバイス名 パラメータ名 [値…]   – 名前によるデバイス・パラメータの設定
get デバイス名 パラメータ名 [パラメータ名…] – 名前による現在のデバイスの(複数の)パラメータの値の取得
getdefault デバイス名 パラメータ名 [パラメータ名…] – 名前によるデバイスの(複数の)パラメータのデフォルト値の取得

xsetwacom は、3種類の出力形式の get/getdefault コマンドをサポートしています。:
xsetwacom get は、パラメータの生の値を返します。
xsetwacom -x は、Xorg.confの記述形式でパラメータの値を返します。
xsetwacom -s は、シェルコマンド形式で値を返します。

最もよく使用されるxsetwacomコマンドは、xsetwacom set デバイス名 パラメータ名 [値…] です。
パラメータ部分は、xsetwacom  実行後に wacom_drv.o の値に対してセットされるオプションです。
このコマンドの使用法をより良く理解するため、いくつか用例を見てみましょう。
Wacomツールの識別子として Stylus を使用していると仮定します。これは xsetwacom コマンドでのデバイス名とみなされます。

Stylus のモードを absolute「絶対座標」(デフォルト)から relative「相対座標」に変更したい場合 :

[jej@ayukawa linuxwacom]$xsetwacom set Stylus mode relative

ボタン2を左ダブルクリックに変更したい場合 :

[jej@ayukawa linuxwacom]$xsetwacom set Stylus button2 “dblclick 1”

ボタン2をボタン5に変更したい場合 :

[jej@ayukawa linuxwacom]$xsetwacom set Stylus Button2 “button 5”

または

[jej@ayukawa linuxwacom]$xsetwacom set Stylus Button2 5

ボタン3を ModeToggle「モード切り替え」に変更したい場合 :

[jej@ayukawa linuxwacom]$xsetwacom set Stylus button3 modetoggle

現在(またはデフォルト)の筆圧感度の設定を知りたい場合 :

[jej@ayukawa linuxwacom]$xsetwacom -s get Stylus PressCurve (xsetwacom形式での出力)
xsetwacom set stylus PressCurve “0 15 85 100”

または

[jej@ayukawa linuxwacom]$xsetwacom -x get Stylus PressCurve (xorg.confオプション形式での出力)
Option  “PressCurve”    “0,15,85,100”

[jej@ayukawa linuxwacom]$xsetwacom -x getdefault Stylus PressCurve
Option  “PressCurve”    “0,0,100,100”

筆圧感度を少しソフトに設定したい場合 :

[jej@ayukawa linuxwacom]$xsetwacom set Stylus PressCurve 0 15 85 100

例えば、ボタン1(ペン先)が押された時にだけボタン・イベントを送信するような、タブレットPC式のボタンの振る舞いにしたい場合 :

[jej@ayukawa linuxwacom]$xsetwacom set Stylus TPCButton on

パッドのボタン1を Ctrl Alt F2 に変更したい場合 :

[jej@ayukawa linuxwacom]$xsetwacom set pad Button1 “core key ctrl alt F2”

パッドのボタン2を Ctrl Alt Backspace に変更したい場合 :

[jej@ayukawa linuxwacom]$xsetwacom set pad Button2 “core key ctrl alt backspace”

留意点: キーストロークと修飾キーへの対応は、Xorg 6.8 以降のみです。

xsetwacom でサポートされるパラメータ

以下は、xsetwacom コマンドで使用されるパラメータとその値の一覧です。(xsetwacom list param の実行により、同様の一覧が出力されます。これら全ての機能効果は、別の明示がない限り、付随ツールに適用されます。):

パラメータ    [値…]              結果
——————————————————————
Mode Relative|Absolute        デバイスのモードを設定
TopX 整数値                アクティブ域の上角のX座標を設定
TopY 整数値                アクティブ域の上角のY座標を設定
BottomX 整数値              アクティブ域の下角のX座標を設定
BottomY 整数値              アクティブ域の下角のY座標を設定
STopXi 整数値                 i番スクリーンの左座標をピクセル単位で返す
STopYi 整数値                 i番スクリーンの上座標をピクセル単位で返す
SBottomXi 整数値               i番スクリーンの右座標をピクセル単位で返す
SBottomYi 整数値               i番スクリーンの下座標をピクセル単位で返す
ButtonM 整数値|キーストローク  M番ボタンをキーストロークまたは指定整数値番号ボタンのクリックに変更
ButtonM 0                              M番ボタンのクリックを無視
RelWUp 整数値|キーストローク        relativeホイールの上スクロールをボタンクリックまたはキーストロークに設定
RelWDn 整数値|キーストローク        relativeホイールの下スクロールをボタンクリックまたはキーストロークに設定
AbsWUp 整数値|キーストローク        absoluteホイールの上スクロールをボタンクリックまたはキーストロークに設定
AbsWDn 整数値|キーストローク        absoluteホイールの下スクロールをボタンクリックまたはキーストロークに設定
StripLUp 整数値|キーストローク        左タッチストリップの上スクロールをボタンクリックまたはキーストロークに設定
StripLDn 整数値|キーストローク        左タッチストリップの下スクロールをボタンクリックまたはキーストロークに設定
StripRUp 整数値|キーストローク        右タッチストリップの上スクロールをボタンクリックまたはキーストロークに設定
StripRDn 整数値|キーストローク        右タッチストリップの下スクロールをボタンクリックまたはキーストロークに設定
PressCurve i1 i2 i3 i4               i1+i4=100; i2+i3=100 になる数値の範囲内で筆圧のベジエ曲線を設定
DebugLevel 整数値(0 – 12)         指定ツールに対するデバグ・トレースのレベルを設定
CommonDBG 整数値(0 – 12)         同一タブレットの全ツールに対するデバグ・トレースのレベルを設定
Suppress 整数値(0 – 100)        同一タブレットに付随するツールに関するデータ出力の量を減らす数
Screen_No 整数値(-1 – 5)         タブレットを割り当てるスクリーンの番号を設定
TwinView none|xinerama|vertical|horizontal|leftof|aboveof TwinViewに対する割り当てを設定。
TVResolution0 幅 x 高さ          TwinView Screen 0 に MetaModes オプションを設定
TVResolution1 幅 x 高さ           TwinView Screen 1 に MetaModes オプションを設定
SpeedLevel 整数値 (1 – 11)         カーソル移動の相対速度を設定
ClickForce 整数値 (1 – 21)         ペン先/消しゴムの圧力の閾値をクリック圧力の尺度で設定
Threshold 整数値             ペン先/消しゴムの圧力の閾値を圧力値で直接設定、デフォルトは(2048 / 75)
xyDefault タブレット単位で境界座標をデフォルト値にリセット
mmonitor on|off              (非TwinViewの)マルチモニタ・デスクトップでのモニタをまたぐ移動のオンオフ

TPCButton on|off                   タブレットPC のボタンとしてのボタン挙動のオンオフ

Touch on|off                   タッチイベントのオン/オフ(タッチ機能付きタブレットでは、オンがデフォルト)
Gesture on|off                   タッチジェスチャーのオン/オフ(2本指タッチをサポートするタブレットでは、オンがデフォルト)
ZoomDistance 整数値                  ズーム・ジェスチャーを開始する前に必要な最小距離(デフォルトは 50)
ScrollDistance 整数値                  スクロール・ジェスチャーを開始するのに必要なフィンガー動作の最小距離(タブレットPCでは 30 がデフォルト、その他では 20)
TapTime 整数値 (1 – 500)        右クリック・ジェスチャーとみなすタップの最大間隔時間(デフォルトは 250 ms)
CursorProx 整数値 (距離)      タブレット表面からの距離で指定するカーソルの近接範囲判定の距離マージンの設定
Rotate none|cw|ccw|half         タブレットの回転の設定。cw(clock wise, 時計回り)、ccw(counter clock wise, 反時計回り)、このコマンドで適用されたタブレットの方向指定は、その後のタブレットの新規方向指定のベースになります。
ToolID 付随デバイスのIDを返す
ToolSerial 付随デバイスのシリアル番号の値を返す
GetTabletID/TabletID 付随デバイスのタブレットIDを返す
NumScreen デスクトップに割り当て設定されたスクリーン数を返す
——————————————————————

イベントの記述形式:
[CORE] [イベントの種類] [修飾キー] [コード]

CORE: SendCoreEvents設定にとらわれずコア・イベントを発信

イベントの種類: 発信するイベントの種類 :

KEY: キー・イベントを発信

BUTTON: ボタン・イベントを発信

DBLCLICK: ダブルクリックのボタン・イベントを発信

MODETOGGLE: タブレットの absolute/relative モード切り替え

DISPLAYTOGGLE: パッド以外の選択ツールに対して、

個々のスクリーンにデスクトップ全体も加えた全ディスプレイの間同士でカーソル移動を切り替えます。

選択ツールがパッドの場合は、同一タブレットに付随する全ツールに効果が適用されます。

SCREENTOGGLE: パッド以外の選択ツールに対して、

個々のスクリーン全部の間同士でカーソル移動を切り替えます。

選択ツールがパッドの場合は、同一タブレットに付随する全ツールに効果が適用されます。

修飾キー:  “xsetwacom list mod” コマンド(訳注:xf86-input-wacom 0.10.8 以降でサポートかと)を使用して、修飾キーや特殊キーの一覧を参照してください。

コード: ボタンイベント発信の場合はボタン番号、または特殊キーや、修飾キーとしてリストされていないその他のキー

デバイスの物理構成に関連付けられてるパラメータ

以下は、デバイスの物理的な構成要素に関連付けられているパラメータの一覧です。

パラメータ     ツール

————————————————————————–
Button#               Wacom全種のスタイラス/専用マウス(パック)のボタン、 タブレットのエクスプレスキー(ファンクションキー)
RelWUp/RelWDn Graphire4(Favo4) のタブレットホイール、 Wacom専用マウス(パック)のフィンガーホイール
AbsWUp/AbsWDn Intuos専用マウス(パック)のサムホイール、 Intuos のエアブラシ・フィンガーホイール、 Bambooタブレットのタッチリング
StripLUp/StripLDn Intuos3 と V5 Cintiq (Cintiq 21UX/12WX/20WSX) タブレットの左タッチストリップ(左トラックパッド)
StripRUp/StripRDn Intuos3 と V5 Cintiq (Cintiq 21UX/12WX/20WSX) タブレットの右タッチストリップ(右トラックパッド)
————————————————————————–

ログイン時の既設定 xsetwacom コマンドの自動実行

ホームディレクトリ下の .xintrc ファイルに xsetwacom コマンドを追加することで、次回のログイン時にドライバを任意選択したオプション値に設定することができます。

.xinitrc の参照例:

[jej@ayukawa jej]$ more .xinitrc
xsetwacom set Stylus TopX 10
xsetwacom set Stylus TopY 67
xsetwacom set Stylus BottomX 7170
xsetwacom set Stylus BottomY 5778
xsetwacom set Stylus TPCButton 1
# run the primary system script
. /etc/X11/xinit/xinitrc

ホームディレクトリ下を参照するには、ls -al ~ コマンドを使用します。

ログイン時に .xinitrc が実行されないシステムの場合は、そのシステムが起動させるスタートアップ・スクリプト(.bashrc, .cshrc, .profile 等々)に xsetwacom コマンドを追加することが可能です。

例えば Debian では、.xinitrc の代わりに .Xsession を使用します。

古いシステムのなかには、XFree86 インターフェイス・エラーにより、xsetwacom が実行できないものがあることが報告されています。

この問題に対する一般的な解決策は、設定オプションを /etc/X11/XF86Config ファイルに直接追加することです。詳細については、Configuring X11 を参照してください。

さらなる具体例

上述の使用法の説明に面食らってしまったならば、さらにややこしい例を見て行きましょう。

1. キーストロークと修飾キーの使用例

キーストロークと修飾キーは、ボタンやエクスプレスキー(ファンクションキー)、ホイール、タッチストリップ(トラックパッド)、タッチリングを通じて利用されます。

サポートされている修飾キーや特殊キーの一覧は、xsetwacom list mod コマンド(訳注:xf86-input-wacom 0.10.8 以降でサポートかと)を通じて閲覧できます。

特殊キーとは、1つの XInput キーイベントを表すために伴う記号です。

次の例では、Up が上矢印キーを表しています。:

[jej@ayukawa jej]$ xsetwacom set cursor button4 “key core Up”

Wacom専用マウス(パック)のボタン4を押したとき、Xinput は上矢印キーのイベントを受け取ります。

Up をキーストロークとして送信したい場合は、ユニバーサルなエスケープ文字である「\」バックスラッシュを使用する必要があります。:

[jej@ayukawa jej]$ xsetwacom set cursor button4 “key core \Up”

この場合、Wacom専用マウスのボタン4を押すと、Xinput は U と p のイベントを受け取ります。つまり、アクティブ状態の端末またはアプリケーションに Up の文字が表示されます。

ボタン5を押したときに下矢印キーのイベントを送信:

[jej@ayukawa jej]$ xsetwacom set cursor button5 “key core Down”

タブレットホイールのスクロールアップ時に PageUp キーのイベントを送信:

[jej@ayukawa jej]$ xsetwacom set pad RelWUp “key core pgup”

タブレットホイールのスクロールダウン時に PageDown キーのイベントを送信:

[jej@ayukawa jej]$ xsetwacom set pad RelWDn “key core pgdn”

これらは、AbsWUp や AbsWDn、StripLUp、StripLDn、StripRUp、StripRDn パラメータについても同様です。

2. ドライバ実行中のデバグ・レベルの変更

xsetwacom は、DebugLevel と CommonDBG パラメータを通じた、各デバイスおよび同一タブレットの全ツール、またはどちらか一方のデバグ情報出力を有効化/無効化する2つの方法をサポートしています。

例:

[jej@ayukawa jej]$ xsetwacom set cursor DebugLevel 10

“cursor” デバイスに対してレベル10のデバガーをオンにします。その他のデバイスは Xorg.0.log ファイルに情報を報告しません。

[jej@ayukawa jej]$ xsetwacom set cursor CommonDBG 3

“cursor” と同一のタブレットに付随する全デバイスに対してレベル3のデバガーをオンします。しかし、共通のデバグ情報のみが報告されます。

3. システム稼働中のTwinView設定

TwinView パラメータは、TwinViewの配置を horizontal(水平)/vertical(垂直)/none(無効) に設定します。
求めたい出力形式に応じた get コマンドにより、現在のTwinViewの設定が取得できます。
例:

[jej@ayukawa jej]$ xsetwacom -x get cursor TwinView
Option  “TwinView”      “none”
[jej@ayukawa jej]$

この場合、cursorデバイスはTwinViewディスプレイに設定されていないことを意味しています。

その他の2つのパラメータ TVResolution0 と TVResolution1 は、システム稼働中の時に TwinView設定の MetaModes オプションの変更を可能にします。
TVResolution0 は TwinView Screen 0 の MetaModes オプションを設定し、TVResolution1 は TwinView Screen 1 の MetaModes オプションを設定します。
しかし、設定しようとする MetaModes は、Nvidiaグラフィックカード・ドライバ向けにxorg.confで指定したTwinView設定と全く同じにする必要があります。

4. raw データをフィルタするための Suppress と RawSample の変更

Suppress を使用すると、ドライバにおいて処理する raw データの数が減らせます。
従って、よく内容を知っていない限り、Suppress の変更はお勧めしません。
Suppress に有効な値は 0 から 100 です。0 の場合、raw データがそのまま使用されます。Suppress が 101 未満の場合、最終処理イベントと比較したデータ変更が Suppress のポイントより大きいときに、そのデータが使用されます。2 が初期設定値です。

RawSample は元々、x/y 座標を特定の度合いに平滑化するため導入されました。
4点平均法がテストされ、効果があることを確かめました。
linuxwacom 0.7.8 では、xsetwacom を通じて RawSample の変更ができるようにしました。
しかし、Suppress の場合と同様、RawSample の変更はお勧めしません。
値の上限は 20 ですが、デフォルトは 4 です。

Suppress と RawSample は両方とも、同一タブレット上のデバイスに適用されます。
すなわち、同一タブレットに付随する全てのデバイスに対してグローバルな設定です。

コメントを残す