これを実現する方法について、誰か良い参考資料を教えてくれませんか、それともやり方だけ教えてください。Google は、常にタッチパッドに関する推奨事項を提示しようとするので、ここではあまり役に立ちません :/
答え1
タッチスクリーンが退屈な入力デバイスとして検出される限り、xinput
を使用してこれを行うことができます。このツールを使用すると、新しいマスター ポインター (マウス ポインターに似た仮想ポインター) を定義し、スレーブ ポインター (実際のハードウェア デバイス) をマスター ポインターから切り離したり、マスター ポインターに接続したりできます。
だからあなたがすべきことは
- 新しいマスターポインタを作成する
- タッチスクリーンをこの新しいマスターポインターに再接続します
これは次のように行います:
新しいマスター ポインターを作成します。
$ xinput create-master touchy
これにより、新しいマスター キーボード/ポインター ペアが作成されます。キーボードは「タッチ キーボード」、ポインターは「タッチ ポインター」と呼ばれます。
$ xinput ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ SynPS/2 Synaptics TouchPad id=10 [slave pointer (2)] ⎜ ↳ TPPS/2 IBM TrackPoint id=11 [slave pointer (2)] ⎜ ↳ My Cool™ Touchscreen id=14 [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)] ↳ AT Translated Set 2 keyboard id=9 [slave keyboard (3)] ↳ ThinkPad Extra Buttons id=12 [slave keyboard (3)] ↳ HID 046a:0011 id=13 [slave keyboard (3)] ⎡ touchy pointer id=15 [master pointer (16)] ⎜ ↳ touchy XTEST pointer id=17 [slave pointer (15)] ⎣ touchy keyboard id=16 [master keyboard (15)] ↳ touchy XTEST keyboard id=18 [slave keyboard (16)]
タッチスクリーンのスレーブポインターを新しいマスターに再接続します
この例では、使用するデバイスとして「My Cool™ Touchscreen」を想定します (
id=14
)。$ xinput reattach 14 15
結果は次のようになります。
$ xinput ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ SynPS/2 Synaptics TouchPad id=10 [slave pointer (2)] ⎜ ↳ TPPS/2 IBM TrackPoint id=11 [slave pointer (15)] ⎣ 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)] ↳ AT Translated Set 2 keyboard id=9 [slave keyboard (3)] ↳ ThinkPad Extra Buttons id=12 [slave keyboard (3)] ↳ HID 046a:0011 id=13 [slave keyboard (3)] ⎡ touchy pointer id=15 [master pointer (16)] ⎜ ↳ My Cool™ Touchscreen id=14 [slave pointer (2)] ⎜ ↳ touchy XTEST pointer id=17 [slave pointer (15)] ⎣ touchy keyboard id=16 [master keyboard (15)] ↳ touchy XTEST keyboard id=18 [slave keyboard (16)]
これで、タッチスクリーンは個別のポインティング デバイスのように動作するはずです。
編集:タッチスクリーンでは不要な2つ目のマウスポインタを削除するには、次のようにします。これXInput2 拡張機能を利用してポインターを個別に変更するツールです。