2
我試圖在X(1.14.7)上使用EETI EXC7200觸摸屏。觸摸屏被識別並處理事件。 TS發送絕對座標並使用evdev驅動程序(絕對模式)。但是,當我移動到屏幕的邊緣(並且X或Y到達0)時,指針會被對齊到窗口的中心。之後任何移動都有一個偏移量(取決於實際位置和角落之間的差異)。xorg觸摸屏:忽略絕對位置
爲了測試這個,我在屏幕上用XQueryPointer的座標繪製指針。
這裏是從evtest輸出:
~# evtest /dev/input/event0 Input driver version is 1.0.1 Input device ID: bus 0x18 vendor 0x0 product 0x0 version 0x0 Input device name: "EETI EXC7200 Touch Screen" Supported events: Event type 0 (EV_SYN) Event type 1 (EV_KEY) Event code 330 (BTN_TOUCH) Event type 3 (EV_ABS) Event code 0 (ABS_X) Value 1928 Min 0 Max 2047 Event code 1 (ABS_Y) Value 1825 Min 0 Max 2047 Event code 47 (ABS_MT_SLOT) Value 0 Min 0 Max 1 Event code 53 (ABS_MT_POSITION_X) Value 0 Min 0 Max 2047 Event code 54 (ABS_MT_POSITION_Y) Value 0 Min 0 Max 2047 Event code 57 (ABS_MT_TRACKING_ID) Value 0 Min 0 Max 65535 Properties: Testing ... (interrupt to exit) Event: time 6435.172526, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 39 Event: time 6435.172535, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 75 Event: time 6435.172537, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 775 Event: time 6435.172542, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1 Event: time 6435.172546, type 3 (EV_ABS), code 0 (ABS_X), value 75 Event: time 6435.172548, type 3 (EV_ABS), code 1 (ABS_Y), value 775 Event: time 6435.172550, -------------- EV_SYN ------------ Event: time 6435.236468, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 77 Event: time 6435.236472, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 776 Event: time 6435.236477, type 3 (EV_ABS), code 0 (ABS_X), value 77 Event: time 6435.236479, type 3 (EV_ABS), code 1 (ABS_Y), value 776 Event: time 6435.236481, -------------- EV_SYN ------------ Event: time 6435.290502, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 79 Event: time 6435.290510, type 3 (EV_ABS), code 0 (ABS_X), value 79 Event: time 6435.290513, -------------- EV_SYN ------------ Event: time 6435.354553, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 778 Event: time 6435.354571, type 3 (EV_ABS), code 1 (ABS_Y), value 778 Event: time 6435.354573, -------------- EV_SYN ------------ Event: time 6435.376630, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 78 Event: time 6435.376637, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 781 Event: time 6435.376644, type 3 (EV_ABS), code 0 (ABS_X), value 78 Event: time 6435.376646, type 3 (EV_ABS), code 1 (ABS_Y), value 781 Event: time 6435.376648, -------------- EV_SYN ------------ Event: time 6435.397552, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 76 Event: time 6435.397556, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 783 Event: time 6435.397561, type 3 (EV_ABS), code 0 (ABS_X), value 76 Event: time 6435.397563, type 3 (EV_ABS), code 1 (ABS_Y), value 783 Event: time 6435.397565, -------------- EV_SYN ------------ Event: time 6435.408593, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 74 Event: time 6435.408599, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 784 Event: time 6435.408606, type 3 (EV_ABS), code 0 (ABS_X), value 74 Event: time 6435.408608, type 3 (EV_ABS), code 1 (ABS_Y), value 784 Event: time 6435.408610, -------------- EV_SYN ------------ Event: time 6435.419598, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 70 Event: time 6435.419603, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 785 Event: time 6435.419609, type 3 (EV_ABS), code 0 (ABS_X), value 70 Event: time 6435.419611, type 3 (EV_ABS), code 1 (ABS_Y), value 785 Event: time 6435.419613, -------------- EV_SYN ------------ Event: time 6435.429599, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 64 Event: time 6435.429602, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 786 Event: time 6435.429608, type 3 (EV_ABS), code 0 (ABS_X), value 64 Event: time 6435.429610, type 3 (EV_ABS), code 1 (ABS_Y), value 786 Event: time 6435.429612, -------------- EV_SYN ------------ Event: time 6435.440599, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 54 Event: time 6435.440604, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 787 Event: time 6435.440610, type 3 (EV_ABS), code 0 (ABS_X), value 54 Event: time 6435.440611, type 3 (EV_ABS), code 1 (ABS_Y), value 787 Event: time 6435.440613, -------------- EV_SYN ------------ Event: time 6435.451595, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 43 Event: time 6435.451602, type 3 (EV_ABS), code 0 (ABS_X), value 43 Event: time 6435.451605, -------------- EV_SYN ------------ Event: time 6435.462619, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 32 Event: time 6435.462623, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 786 Event: time 6435.462629, type 3 (EV_ABS), code 0 (ABS_X), value 32 Event: time 6435.462631, type 3 (EV_ABS), code 1 (ABS_Y), value 786 Event: time 6435.462633, -------------- EV_SYN ------------ Event: time 6435.472642, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 22 Event: time 6435.472648, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 785 Event: time 6435.472654, type 3 (EV_ABS), code 0 (ABS_X), value 22 Event: time 6435.472656, type 3 (EV_ABS), code 1 (ABS_Y), value 785 Event: time 6435.472658, -------------- EV_SYN ------------ Event: time 6435.483646, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 14 Event: time 6435.483651, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 783 Event: time 6435.483657, type 3 (EV_ABS), code 0 (ABS_X), value 14 Event: time 6435.483658, type 3 (EV_ABS), code 1 (ABS_Y), value 783 Event: time 6435.483660, -------------- EV_SYN ------------ Event: time 6435.494684, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 8 Event: time 6435.494689, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 782 Event: time 6435.494697, type 3 (EV_ABS), code 0 (ABS_X), value 8 Event: time 6435.494699, type 3 (EV_ABS), code 1 (ABS_Y), value 782 Event: time 6435.494701, -------------- EV_SYN ------------ Event: time 6435.504820, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 4 Event: time 6435.504829, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 781 Event: time 6435.504837, type 3 (EV_ABS), code 0 (ABS_X), value 4 Event: time 6435.504839, type 3 (EV_ABS), code 1 (ABS_Y), value 781 Event: time 6435.504841, -------------- EV_SYN ------------ Event: time 6435.515636, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 2 Event: time 6435.515640, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 780 Event: time 6435.515646, type 3 (EV_ABS), code 0 (ABS_X), value 2 Event: time 6435.515648, type 3 (EV_ABS), code 1 (ABS_Y), value 780 Event: time 6435.515650, -------------- EV_SYN ------------ Event: time 6435.537672, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 0 Event: time 6435.537683, type 3 (EV_ABS), code 0 (ABS_X), value 0 Event: time 6435.537686, -------------- EV_SYN ------------ Event: time 6435.600755, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 777 Event: time 6435.600766, type 3 (EV_ABS), code 1 (ABS_Y), value 777 Event: time 6435.600768, -------------- EV_SYN ------------ Event: time 6435.601836, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value -1 Event: time 6435.601844, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0 Event: time 6435.601847, -------------- EV_SYN ------------
和(在同一時間)經由XINPUT翻譯的輸出:
~# xinput test 6 motion a[0]=75 a[1]=775 button press 1 a[0]=75 a[1]=775 motion a[0]=77 a[1]=776 motion a[0]=79 a[1]=776 motion a[0]=79 a[1]=778 motion a[0]=78 a[1]=781 motion a[0]=76 a[1]=783 motion a[0]=74 a[1]=784 motion a[0]=70 a[1]=785 motion a[0]=64 a[1]=786 motion a[0]=54 a[1]=787 motion a[0]=43 a[1]=787 motion a[0]=32 a[1]=786 motion a[0]=22 a[1]=785 motion a[0]=14 a[1]=783 motion a[0]=1024 a[1]=1024 motion a[0]=8 a[1]=782 motion a[0]=1024 a[1]=1024 motion a[0]=4 a[1]=781 motion a[0]=1024 a[1]=1024 motion a[0]=2 a[1]=780 motion a[0]=1024 a[1]=1024 motion a[0]=0 a[1]=780 motion a[0]=1024 a[1]=1024 motion a[0]=0 a[1]=777 button release 1 a[0]=0 a[1]=777 motion a[0]=1024 a[1]=1024
XINPUT正在輸出位於中心額外移動事件。但只有當我接近觸摸屏的邊緣時。
我在做什麼錯?我應該看什麼? 感謝您的幫助或提示。