embeded/raspberry pi2015. 8. 17. 16:38

터치하면 무조건 클릭+move 라서

좀 어떻게 해결 되려나 조사중...


 Section "InputDevice"

         Identifier "tslib"

         Driver "tslib"

         Option "Device"    "/dev/event0"

         Option "ScreenNumber"  "0"

         Option "Width" "0"

         Option "Height"    "0"

         Option "Rotate"    "NONE"

         Option "EmulateRightButton"    "0"

         ...

       EndSection

[링크 : http://manpages.ubuntu.com/manpages/raring/man4/tslib.4.html]


MatchDevicePath "/dev/input/event*"

[링크 : https://www.raspberrypi.org/forums/viewtopic.php?t=16541&p=180185]



$ sudo apt-cache search evtest

evtest - utility to monitor Linux input device events

joystick - set of testing and calibration tools for joysticks


[링크 : http://blog.rot13.org/2013/12/touch-screen-configuration-using-xinput.html]



$ ls -al /dev/input/*

crw-rw---T 1 root input 13, 64  1월  1  1970 /dev/input/event0

crw-rw---T 1 root input 13, 63  1월  1  1970 /dev/input/mice

crw-rw---T 1 root input 13, 32  1월  1  1970 /dev/input/mouse0


/dev/input/by-path:

합계 0

drwxr-xr-x 2 root root  60  1월  1  1970 .

drwxr-xr-x 3 root root 120  1월  1  1970 ..

lrwxrwxrwx 1 root root   9  1월  1  1970 platform-3f204000.spi-event -> ../event0


$ modinfo evdev

filename:       /lib/modules/3.18.11-v7+/kernel/drivers/input/evdev.ko

license:        GPL

description:    Input driver event char devices

author:         Vojtech Pavlik <vojtech@ucw.cz>

srcversion:     A40D3F09256196BB98D0C0E

alias:          input:b*v*p*e*-e*k*r*a*m*l*s*f*w*

depends:

intree:         Y

vermagic:       3.18.11-v7+ SMP preempt mod_unload modversions ARMv7


$ sudo evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:      ADS7846 Touchscreen
Select the device event number [0-0]: 0
Input driver version is 1.0.1
Input device ID: bus 0x0 vendor 0x0 product 0x0 version 0x0
Input device name: "ADS7846 Touchscreen"
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   1676
      Min        0
      Max     4095
    Event code 1 (ABS_Y)
      Value   2147
      Min        0
      Max     4095
    Event code 24 (ABS_PRESSURE)
      Value      0
      Min        0
      Max      255
Properties:
Testing ... (interrupt to exit)
Event: time 1439797317.648607, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1439797317.648607, type 3 (EV_ABS), code 0 (ABS_X), value 2036
Event: time 1439797317.648607, type 3 (EV_ABS), code 1 (ABS_Y), value 2098
Event: time 1439797317.648607, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 143
Event: time 1439797317.648607, -------------- SYN_REPORT ------------
Event: time 1439797317.658645, type 3 (EV_ABS), code 0 (ABS_X), value 2063
Event: time 1439797317.658645, type 3 (EV_ABS), code 1 (ABS_Y), value 2097
Event: time 1439797317.658645, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 141
Event: time 1439797317.658645, -------------- SYN_REPORT ------------
Event: time 1439797317.668690, type 3 (EV_ABS), code 0 (ABS_X), value 2089
Event: time 1439797317.668690, type 3 (EV_ABS), code 1 (ABS_Y), value 2089
Event: time 1439797317.668690, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 117
Event: time 1439797317.668690, -------------- SYN_REPORT ------------
Event: time 1439797317.678191, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
Event: time 1439797317.678191, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 0
Event: time 1439797317.678191, -------------- SYN_REPORT ------------


Option "DragLockButtons" "L1 B2 L3 B4"
Sets "drag lock buttons" that simulate holding a button down, so that low dexterity people do not have to hold a button down at the same time they move a mouse cursor. Button numbers occur in pairs, with the lock button number occurring first, followed by the button number that is the target of the lock button. Property: "Evdev Drag Lock ButtonsEvdev Drag Lock Buttons".

Option "DragLockButtons" "M1"
Sets a "master drag lock button" that acts as a "Meta Key" indicating that the next button pressed is to be "drag locked". Property: "Evdev Drag Lock Buttons".



5.4. Drag Lock Buttons

Some people find it difficult or inconvenient to hold a trackball button down, while at the same time moving the ball. Drag lock buttons simulate the holding down of another button. When a drag lock button is first pressed, its target buttons is "locked" down until the second time the lock button is released, or until the button itself is pressed and released. This allows the starting of a drag, the movement of the trackball, and the ending of the drag to be separate operations.

Option "DragLockButtons" "W X Y Z"
This option consists of pairs of buttons. Each lock button number is followed by the number of the button that it locks. In the above, button number "W" is a drag lock button for button "X" and button number "Y" is a drag lock button for button "Z".

It may not be desirable to use multiple buttons as drag locks. Instead, a "master drag lock button" may be defined. A master drag lock button acts as a "META" key. After a master lock button is released, the next button pressed is "locked" and not released until the second time the real button is released.

Option "DragLockButtons" "M"
Since button "M" is unpaired it is a master drag lock button.



[링크 : http://lxr.free-electrons.com/source/drivers/input/touchscreen/ads7846.c]

[링크 : http://lxr.free-electrons.com/source/drivers/input/evdev.c]

[링크 : http://lxr.free-electrons.com/source/Documentation/input/event-codes.txt]

Posted by 구차니