getevent 도구

getevent 도구는 기기에서 실행되며, 입력 장치 관련 정보와 커널 입력 이벤트의 실시간 덤프를 제공합니다.

이 도구는 기기 드라이버가 각 입력 장치의 예상 기능 모음을 보고하고 원하는 입력 이벤트 스트림을 생성하도록 하는 경우에 유용합니다.

기기 기능 표시

기기에서 보고하는 모든 키와 축을 확인하려면 -p 옵션과 adb 명령어를 함께 사용하세요.

adb shell su -- getevent -p

다음 예에는 특정 키보드에서 지원한다고 언급하는 Linux 키 코드와 기타 이벤트가 나열되어 있습니다.

  name:     "Motorola Bluetooth Wireless Keyboard"
  events:
    KEY (0001): 0001  0002  0003  0004  0005  0006  0007  0008
                0009  000a  000b  000c  000d  000e  000f  0010
                0011  0012  0013  0014  0015  0016  0017  0018
                0019  001a  001b  001c  001d  001e  001f  0020
                0021  0022  0023  0024  0025  0026  0027  0028
                0029  002a  002b  002c  002d  002e  002f  0030
                0031  0032  0033  0034  0035  0036  0037  0038
                0039  003a  003b  003c  003d  003e  003f  0040
                0041  0042  0043  0044  0045  0046  0047  0048
                0049  004a  004b  004c  004d  004e  004f  0050
                0051  0052  0053  0055  0056  0057  0058  0059
                005a  005b  005c  005d  005e  005f  0060  0061
                0062  0063  0064  0066  0067  0068  0069  006a
                006b  006c  006d  006e  006f  0071  0072  0073
                0074  0075  0077  0079  007a  007b  007c  007d
                007e  007f  0080  0081  0082  0083  0084  0085
                0086  0087  0088  0089  008a  008c  008e  0090
                0096  0098  009b  009c  009e  009f  00a1  00a3
                00a4  00a5  00a6  00ab  00ac  00ad  00b0  00b1
                00b2  00b3  00b4  00b7  00b8  00b9  00ba  00bb
                00bc  00bd  00be  00bf  00c0  00c1  00c2  00d9
                00f0  0110  0111  0112  01ba
    REL (0002): 0000  0001  0008
    ABS (0003): 0028  : value 223, min 0, max 255, fuzz 0, flat 0, resolution 0
                0029  : value 0, min 0, max 255, fuzz 0, flat 0, resolution 0
                002a  : value 0, min 0, max 255, fuzz 0, flat 0, resolution 0
                002b  : value 0, min 0, max 255, fuzz 0, flat 0, resolution 0
    MSC (0004): 0004
    LED (0011): 0000  0001  0002  0003  0004
  input props:
    <none>

-i 옵션을 사용하면 HID 매핑 테이블 및 디버깅 정보 등에 관한 추가 정보를 얻을 수 있습니다.

모든 이벤트 코드에 텍스트 라벨을 표시하려면 -l 옵션을 사용하세요.

adb shell su -- getevent -lp /dev/input/event1

예:

  name:     "Melfas MMSxxx Touchscreen"
  events:
    ABS (0003): ABS_MT_SLOT           : value 0, min 0, max 9, fuzz 0, flat 0, resolution 0
                ABS_MT_TOUCH_MAJOR    : value 0, min 0, max 30, fuzz 0, flat 0, resolution 0
                ABS_MT_POSITION_X     : value 0, min 0, max 720, fuzz 0, flat 0, resolution 0
                ABS_MT_POSITION_Y     : value 0, min 0, max 1280, fuzz 0, flat 0, resolution 0
                ABS_MT_TRACKING_ID    : value 0, min 0, max 65535, fuzz 0, flat 0, resolution 0
                ABS_MT_PRESSURE       : value 0, min 0, max 255, fuzz 0, flat 0, resolution 0
  input props:
    INPUT_PROP_DIRECT

실시간 이벤트 표시

다음 예에서는 Linux 멀티 터치 입력 프로토콜 'B'를 사용하는 터치 스크린의 두 손가락 멀티 터치 동작을 보여 줍니다. -l 옵션은 텍스트 라벨을, -t 옵션은 타임스탬프를 표시합니다.

adb shell su -- getevent -lt /dev/input/event1

예:

[   78826.389007] EV_ABS       ABS_MT_TRACKING_ID   0000001f
[   78826.389038] EV_ABS       ABS_MT_PRESSURE      000000ab
[   78826.389038] EV_ABS       ABS_MT_POSITION_X    000000ab
[   78826.389068] EV_ABS       ABS_MT_POSITION_Y    0000025b
[   78826.389068] EV_ABS       ABS_MT_SLOT          00000001
[   78826.389068] EV_ABS       ABS_MT_TRACKING_ID   00000020
[   78826.389068] EV_ABS       ABS_MT_PRESSURE      000000b9
[   78826.389099] EV_ABS       ABS_MT_POSITION_X    0000019e
[   78826.389099] EV_ABS       ABS_MT_POSITION_Y    00000361
[   78826.389099] EV_SYN       SYN_REPORT           00000000
[   78826.468688] EV_ABS       ABS_MT_SLOT          00000000
[   78826.468688] EV_ABS       ABS_MT_TRACKING_ID   ffffffff
[   78826.468719] EV_ABS       ABS_MT_SLOT          00000001
[   78826.468719] EV_ABS       ABS_MT_TRACKING_ID   ffffffff
[   78826.468719] EV_SYN       SYN_REPORT           00000000

참고: getevent 타임스탬프는 CLOCK_MONOTONIC 타임베이스에 $SECONDS.$MICROSECONDS 형식을 사용합니다. 자세한 내용은 getevent.c를 참고하세요.