グラフィックタブレットとしてラップトップトラックパッドを使用する


15

私はラップトップのトラックパッドを描画タブレットとして使用することに興味があります。つまりInklet for OSXに似た、相対座標ではなく絶対座標を使用します。

2010年5月にubuntuforums.orgで同じ質問が行われましたが、その質問には答えられませんでした。Linuxでこれが行われたかどうか疑問に思っています。また、どの検索語を使用するかを把握しようとしています。「Linuxラップトップタッチパッドアブソリュートモード」を検索しましたが、トラックパッドをアブソリュートモードにするトラックパッドドライバー問題が発生しまし。しかし、私は本当にドライバーの設定ではなく絶対位置を使用するプログラムを探しています。


1
MacBookで実行されているUbuntuでこれが必要ですか?それとも、尋ねたりしてこれを行う方法されているすべての Ubuntuのではトラックパッド?
エリアケイガン

どんなラップトップでも動作するものを探しています。
バートンチッテンデン

最近のMacBookのトラックパッド以外のトラックパッドはこれに対応していますか?これは、入力デバイス自体の汎用性に大きく依存しているように見えます。
エリアケイガン

1
これを実行できる単一のプログラムはありません。Mac OS Xでもこれは当てはまりませんが、彼らはそれを適切に隠すことができました(たとえば、実行中のアプリケーションに基づいて入力モードを切り替える)。関連するQ:LinuxでCirqueタッチパッドからタップの絶対位置を読み取る方法
gertvdijk

回答:


8

アプリケーションではなく、ドライバーを見てください

これらの3種類のタッチパッドにより、ドライバーはアプリケーションへの単一の表現に抽象化しようとするため、これを行うプログラムは見つかりません。

  • 絶対位置データを報告するタッチパッドは、Xorgドライバーによってアプリケーションの相対移動に変換されています。通常のアプリケーションはタッチパッドと直接(設計上)対話することができないため、ドライバーで解決策を探す必要があります。
  • 相対モードと絶対モードの両方が可能なタッチパッドでは、モードを切り替える必要がありますが、これは非常にハードウェア固有であり、アプリケーションに対応していません。
  • 一部のより基本的なタッチパッドには、絶対位置を報告する機能がありません。

残念ながら、すべての絶対値を報告できるタッチパッドを使用している場合でも、ほとんどのタッチパッドドライバーではLinuxアプリケーションで使用できません。絶対データは実際にそこにあります。たとえば、ドライバーは、スクロールのために端で触れているかどうかを検出できます。evtest仮想端末で(Xを一時停止するために)使用して、これを自分でテストします。Synapticsタッチパッドは、絶対位置を次のように報告します。

Event type 3 (EV_ABS)
  Event code 0 (ABS_X)
    Value   3332
    Min     1472
    Max     5648
    Fuzz       8
    Resolution      39
  Event code 1 (ABS_Y)
    Value   2017
    Min     1408
    Max     4806
    Fuzz       8
    Resolution      79

XorgでSynapticsデバイスを実際に絶対モードにする機能は、xf86-input-synapticsドライバーでのこのコミットにより最近削除されました。

Remove absolute mode

Moving a touchpad in absolute mode is unusual - touchpads are disconnected
from the output device, so direct interaction is hard. There appears to be
little usage of it (I haven't seen bug reports from people claiming to use
it). Joe Shaw, author of the code and only known user doesn't have a use for
it anymore, so purge it from the repo.

システム全体の基本ドライバー:evdev

Linuxで現時点でこれを可能にする唯一の方法はevdev、Xorg のドライバーを使用することです。それはされた議論のXorgメーリングリスト(以下抜粋)に2010年に戻って:

単なる相対移動ではなく、タッチパッド上の指の絶対位置を取得する必要があります。

synapticsドライバーはこれを行いませんが、evdevドライバーは行います。そのため、代わりにタッチパッド用のevdevドライバーを使用するようにXサーバーを構成する必要があります。サーバー1.8以降を実行している場合、次の構成スニペットがそれを行います。

Section "InputClass"
    Identifier "evdev touchpad"
    MatchIsTouchpad "on"
    Driver "evdev"
    Option "Mode" "absolute"
EndSection

これを名前を付けて保存し/etc/X11/xorg.conf.d/99-evdev-touchpad.conf、サーバーを再起動します。これはタッチパッド自体の動作を変更するだけであり、イベント内のデータは変更されませんが、そのデータは常に絶対的なものであることに注意してください。また、シナプスの代わりにevdevを使用すると、2本指でのスクロール、タップなどの機能が失われます。

結論:機能リクエストを作成する

synapticsドライバー(および他のドライバー)のアップストリームバグトラッカーに機能リクエストの余地があります。タッチパッドの絶対位置の値を読み取ることができるように、Xorgにインターフェースがあると非常に便利です。私が見る主なブロッカーは、これが非常にハードウェア固有であり、したがって実装が難しいかもしれないということです。

Joe ShawとPeter Huttererと話すことは、これの歴史が正確に何であるか、どのようにそれを素晴らしい機能要求にするか、そしてそれから何を期待するかを見るために大きな価値があると思います。


それはいい答えですが、ここではマウスがフリーズしただけです...(12.10)
-desgua

@desguaええ、それはとても期待できることです。絶対入力値はありません
...-gertvdijk

1
誰かがまだこれに興味がある場合に備えて、バグを提出しました:bugs.freedesktop.org/show_bug.cgi
id=

1
更新:私の機能要求は拒否され、メンテナは「そもそもそれをマージしたことを後悔している」と述べました。コードを調べて、おそらくフォークします。もしそうなら、私は最後のコメントをここに投稿し、それに興味がある人がそれを見ることができるようにします。スパムでごめんなさい。
ドナソン14

0

それは、私が思うハードウェアに大きく依存します。あなたのトラックパッドは、タッチの絶対位置を与えることをサポートする必要があります。通常のラップトップトラックパッドは、マウスのように機能し、方向、速度、および加速度の情報のみを提供します。そのため、どこをタッチしても、カーソルの現在の方向からのみ移動します。


1
それはあまり真実ではありません。Xは、たとえばスクロールするエッジを検出できるため、位置を読み取ることができます。それは私たちが見逃しているX入力設定パラメータのようなものだと思います。
gertvdijk

ええ、それも本当です。どのように機能するかは正確にはわかりませんが、トラックパッドでの実装はまだ描画タブレットとして使用するには基本的すぎると思います
。– Gladen
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.