web-dev-qa-db-ja.com

Ubuntu 17.04でWacomスタイラスを設定するにはどうすればよいですか?

Wacomタッチスクリーンとスタイラスを備えたLenovo ThinkPad X1 Yogaを購入しました。

どちらもうまく機能しますが、ペンのボタンと長押しの動作を再マップしたいです。以前のUbuntuリリースでは、設定でWacom tabletに移動し、そこにあるすべてを変更できましたが、スタイラスもタブレットも持っていませんタブレット。 私の設定をテストするポップアップが実際にスタイラスを検出するのは面白い

No stylus found

No tablet detected

"Test my settings" dialog, it works

xinputは、すべての入力デバイスを正しく表示します。

$ xinput
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Wacom Co.,Ltd. Pen and multitouch sensor Finger   id=9    [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=13   [slave  pointer  (2)]
⎜   ↳ TPPS/2 IBM TrackPoint                     id=14   [slave  pointer  (2)]
⎜   ↳ Wacom Co.,Ltd. Pen and multitouch sensor Pen Pen (0)  id=16   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Sleep Button                              id=8    [slave  keyboard (3)]
    ↳ Wacom Co.,Ltd. Pen and multitouch sensor Pen  id=10   [slave  keyboard (3)]
    ↳ Integrated Camera                         id=11   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=12   [slave  keyboard (3)]
    ↳ ThinkPad Extra Buttons                    id=15   [slave  keyboard (3)]

それはすべてにlibinputを使用しているようです(そしてそれが問題かもしれないと思う):

$ journalctl --boot | grep -e "Using input driver 'libinput'"
(II) Using input driver 'libinput' for 'Power Button'
(II) Using input driver 'libinput' for 'Video Bus'
(II) Using input driver 'libinput' for 'Sleep Button'
(II) Using input driver 'libinput' for 'Wacom Co.,Ltd. Pen and multitouch sensor Finger'
(II) Using input driver 'libinput' for 'Wacom Co.,Ltd. Pen and multitouch sensor Pen'
(II) Using input driver 'libinput' for 'Integrated Camera'
(II) Using input driver 'libinput' for 'AT Translated Set 2 keyboard'
(II) Using input driver 'libinput' for 'SynPS/2 Synaptics TouchPad'
(II) Using input driver 'libinput' for 'TPPS/2 IBM TrackPoint'
(II) Using input driver 'libinput' for 'ThinkPad Extra Buttons'
(II) Using input driver 'libinput' for 'Wacom Co.,Ltd. Pen and multitouch sensor Pen Pen (0)'
(II) Using input driver 'libinput' for 'Wacom Co.,Ltd. Pen and multitouch sensor Pen Eraser (0x96d2bb6c'

古いxserver-xorg-input-wacomをインストールしようとしましたが、タッチスクリーンはもう機能せず(ペンのみ)、設定の構成は機能しませんでした。アップグレード後にUbuntu 16.04で問題なく設定できる友人は、HPコンバーチブルラップトップでも同じ問題を抱えています。

ボタンを再マップし、その動作を構成する他の方法はありますか?

5
Depau

結局のところ、これが最終的にわかったことです。

  • タブレットとスタイラスのレイアウトデータは Linux Wacom プロジェクトによって処理され、欠落している場合はそれらに提供する必要があります。ボタンの数など、デバイスに関するすべての情報が含まれます。
  • 新しいタブレットのデータは、誰かが寄付すると、しばらくしてから最終的にディストリビューションにパッケージ化されます。実際、私のタブレットのWacom設定ページはUbuntu 18.04以降機能していました。
  • Xorg上の入力デバイスの構成(libinputを使用)は、xinputツールで管理されます。 xinput --list-props <device>を実行すると、使用可能なすべての設定が一覧表示され、構成できます。
  • Waylandでは、すべてがより複雑です。他のすべてのディスプレイ/ HID関連の設定と同様に、入力構成はコンポジターによって管理されます。
    • GNOMEはgsettingsでそれらを管理します:dconf-editor内の/org/gnome/desktop/peripheralsで設定を見ることができます。 GNOME設定は、そこにあるものを変更することで機能します。
    • Westonでは、構成ファイルを変更する必要があります( source )。
    • 他のコンポジターは異なる動作をする場合があります。

最終的にはスタイラスを構成することができませんでしたが、スタイラスの欠陥だと思います。2つのボタンがありますが、実際には再マップできません。1つは消しゴムとして機能し、もう1つはボタンとして機能します。交換できません。

0
Depau

TBH、libinputがこの状況にどのように関係するのかわかりません。ここに役立ついくつかのアイデアがあります。

XsetwacomはUbuntu 17.04に存在します。 Xsetwacomは、Wacom Xドライバーでスタック内の1レイヤー下にボタンを再マッピングし、再マッピングにgnomeを使用する必要を回避します。 17.04でxsetwacomを不透明なタブレットでテストし、ボタンを再マッピングできました。テストするヨガはありませんが、xsetwacom -s get "Your device name from xsetwacom list" all

デバイスのプロパティが表示されます。xsetwacomで設定できるはずです。

別の考えとして、このコミット[1]はlibwacomにいくつかのYogaデバイスを追加します。そのため、コントロールパネルにデバイスを表示する場合は、libwacomを更新する必要があります。今のところ、それらの変更を含むリリースはまだないので、そのgitリポジトリ[2]からそれを行う必要があります。

[1] https://sourceforge.net/p/linuxwacom/libwacom/ci/3b37fe15814cfa4c0ed72722edb0225d18563c5c/ [2] http://linuxwacom.sourceforge.net/wiki/index.php/Libwacom

0
Aaron Skomra