Lihatlah driver, bukan aplikasi
Anda tidak akan menemukan program melakukan ini, karena tiga jenis touchpad ini driver mencoba untuk abstrak ke satu representasi ke aplikasi:
- Panel sentuh yang melaporkan data posisi absolut sedang diterjemahkan oleh driver Xorg ke gerakan relatif untuk aplikasi. Aplikasi reguler tidak dapat berbicara langsung dengan touchpad (sesuai desain), jadi Anda benar-benar harus mencari solusi pada driver.
- Panel sentuh yang mampu mode relatif dan absolut perlu beralih mode, yang sangat spesifik perangkat keras dan tidak sadar aplikasi.
- Beberapa touchpad yang lebih mendasar tidak memiliki kemampuan untuk melaporkan posisi absolut.
Sayangnya, bahkan jika Anda memiliki touchpad yang cukup mampu melaporkan semua nilai absolut, sebagian besar driver touchpad tidak membiarkan Anda menggunakannya di aplikasi Linux. Data absolut benar-benar ada, karena pengemudi dapat mendeteksi apakah Anda menyentuhnya di tepi untuk menggulir misalnya. Tes sendiri untuk Anda gunakan evtest
di terminal virtual (untuk menangguhkan X). Touchpad Synaptics saya melaporkan posisi absolut sebagai berikut:
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
Kemampuan untuk benar-benar menempatkan perangkat Synaptics dalam mode absolut di Xorg telah dihapus baru-baru ini oleh komit ini di xf86-input-synaptics
driver:
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.
Driver dasar lebar sistem: evdev
Satu-satunya cara saya melihat ini menjadi mungkin saat ini di Linux adalah menggunakan evdev
driver di Xorg. Itu dibahas kembali pada tahun 2010 di milis Xorg (kutipan di bawah):
Saya harus mendapatkan posisi absolut jari pada touchpad daripada hanya gerakan relatif.
driver synaptics tidak melakukan ini, tetapi driver evdev melakukannya. Jadi, Anda perlu mengkonfigurasi server X Anda untuk menggunakan driver evdev untuk touchpad. Cuplikan konfigurasi berikut akan melakukannya untuk Anda asalkan Anda menjalankan server 1.8 atau lebih baru.
Section "InputClass"
Identifier "evdev touchpad"
MatchIsTouchpad "on"
Driver "evdev"
Option "Mode" "absolute"
EndSection
Simpan ini sebagai /etc/X11/xorg.conf.d/99-evdev-touchpad.conf
dan mulai ulang server. Perhatikan bahwa ini hanya mengubah perilaku touchpad itu sendiri, bukan data dalam acara tersebut tetapi data itu selalu absolut. Selain itu, dengan menggunakan evdev alih-alih sinaptik, Anda kehilangan kemampuan untuk menggulir, mengetuk, dll.
Intinya: buat permintaan fitur
Saya melihat ruang untuk permintaan fitur pada bugtracker hulu untuk driver sinaptik (dan mungkin yang lain). Akan sangat berguna untuk memiliki antarmuka di Xorg untuk dapat membaca nilai posisi absolut dari touchpad. Blocker utama yang saya lihat adalah bahwa ini mungkin hardware yang sangat spesifik dan karenanya sulit untuk diimplementasikan.
Saya pikir berbicara dengan Joe Shaw dan Peter Hutterer juga bisa menjadi nilai yang besar untuk melihat apa sebenarnya sejarah dalam hal ini, bagaimana menjadikannya permintaan fitur yang hebat dan apa yang diharapkan darinya.