신풋
➜ xinput --list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ TypeMatrix.com USB Keyboard id=9 [slave pointer (2)]
⎜ ↳ Razer Razer Naga Epic Chroma Dock id=12 [slave pointer (2)]
⎜ ↳ Razer Razer Naga Epic Chroma Dock id=17 [slave pointer (2)]
⎜ ↳ Penlic Wireless Mouse R2 id=13 [slave pointer (2)]
⎜ ↳ ASUS ROG SPATHA id=18 [slave pointer (2)]
⎜ ↳ ASUS ROG SPATHA id=21 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=7 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Creative Technology Ltd. Live! Cam inPerson HD VF0720 id=14 [slave keyboard (3)]
↳ Penlic Wireless Mouse R2 id=19 [slave keyboard (3)]
↳ Live! Cam inPerson HD VF0720: L id=15 [slave keyboard (3)]
↳ TypeMatrix.com USB Keyboard id=8 [slave keyboard (3)]
↳ TypeMatrix.com USB Keyboard id=10 [slave keyboard (3)]
↳ Razer Razer Naga Epic Chroma Dock id=11 [slave keyboard (3)]
↳ Razer Razer Naga Epic Chroma Dock id=16 [slave keyboard (3)]
↳ ASUS ROG SPATHA id=20 [slave keyboard (3)]
➜ xinput --query-state 18
2 classes :
ButtonClass
button[1]=up
button[2]=up
button[3]=up
button[4]=up
button[5]=up
button[6]=up
button[7]=up
ValuatorClass Mode=Relative Proximity=In
valuator[0]=0
valuator[1]=0
valuator[2]=0
valuator[3]=0
~
➜ xinput --query-state 21
2 classes :
ButtonClass
button[1]=up
button[2]=up
button[3]=up
button[4]=up
button[5]=up
button[6]=up
button[7]=up
button[8]=up
button[9]=up
ValuatorClass Mode=Relative Proximity=In
valuator[0]=1225
valuator[1]=1431
valuator[2]=0
valuator[3]=5880
➜ xinput --query-state 20
1 class :
KeyClass
key[0]=up
key[1]=up
key[2]=up
key[3]=up
key[4]=up
key[5]=up
key[6]=up
key[7]=up
key[8]=up
key[9]=up
key[10]=up
key[11]=up
key[12]=up
key[13]=up
key[14]=up
key[15]=up
key[16]=up
key[17]=up
key[18]=up
key[19]=up
key[20]=up
key[21]=up
key[22]=up
key[23]=up
key[24]=up
key[25]=up
key[26]=up
key[27]=up
key[28]=up
key[29]=up
key[30]=up
key[31]=up
key[32]=up
key[33]=up
key[34]=up
key[35]=up
key[36]=up
key[37]=up
key[38]=up
key[39]=up
key[40]=up
key[41]=up
key[42]=up
key[43]=up
key[44]=up
key[45]=up
key[46]=up
key[47]=up
key[48]=up
key[49]=up
key[50]=up
key[51]=up
key[52]=up
key[53]=up
key[54]=up
key[55]=up
key[56]=up
key[57]=up
key[58]=up
key[59]=up
key[60]=up
key[61]=up
key[62]=up
key[63]=up
key[64]=up
key[65]=up
key[66]=up
key[67]=up
key[68]=up
key[69]=up
key[70]=up
key[71]=up
key[72]=up
key[73]=up
key[74]=up
key[75]=up
key[76]=up
key[77]=up
key[78]=up
key[79]=up
key[80]=up
key[81]=up
key[82]=up
key[83]=up
key[84]=up
key[85]=up
key[86]=up
key[87]=up
key[88]=up
key[89]=up
key[90]=up
key[91]=up
key[92]=up
key[93]=up
key[94]=up
key[95]=up
key[96]=up
key[97]=up
key[98]=up
key[99]=up
key[100]=up
key[101]=up
key[102]=up
key[103]=up
key[104]=up
key[105]=up
key[106]=up
key[107]=up
key[108]=up
key[109]=up
key[110]=up
key[111]=up
key[112]=up
key[113]=up
key[114]=up
key[115]=up
key[116]=up
key[117]=up
key[118]=up
key[119]=up
key[120]=up
key[121]=up
key[122]=up
key[123]=up
key[124]=up
key[125]=up
key[126]=up
key[127]=up
key[128]=up
key[129]=up
key[130]=up
key[131]=up
key[132]=up
key[133]=up
key[134]=up
key[135]=up
key[136]=up
key[137]=up
key[138]=up
key[139]=up
key[140]=up
key[141]=up
key[142]=up
key[143]=up
key[144]=up
key[145]=up
key[146]=up
key[147]=up
key[148]=up
key[149]=up
key[150]=up
key[151]=up
key[152]=up
key[153]=up
key[154]=up
key[155]=up
key[156]=up
key[157]=up
key[158]=up
key[159]=up
key[160]=up
key[161]=up
key[162]=up
key[163]=up
key[164]=up
key[165]=up
key[166]=up
key[167]=up
key[168]=up
key[169]=up
key[170]=up
key[171]=up
key[172]=up
key[173]=up
key[174]=up
key[175]=up
key[176]=up
key[177]=up
key[178]=up
key[179]=up
key[180]=up
key[181]=up
key[182]=up
key[183]=up
key[184]=up
key[185]=up
key[186]=up
key[187]=up
key[188]=up
key[189]=up
key[190]=up
key[191]=up
key[192]=up
key[193]=up
key[194]=up
key[195]=up
key[196]=up
key[197]=up
key[198]=up
key[199]=up
key[200]=up
key[201]=up
key[202]=up
key[203]=up
key[204]=up
key[205]=up
key[206]=up
key[207]=up
key[208]=up
key[209]=up
key[210]=up
key[211]=up
key[212]=up
key[213]=up
key[214]=up
key[215]=up
key[216]=up
key[217]=up
key[218]=up
key[219]=up
key[220]=up
key[221]=up
key[222]=up
key[223]=up
key[224]=up
key[225]=up
key[226]=up
key[227]=up
key[228]=up
key[229]=up
key[230]=up
key[231]=up
key[232]=up
key[233]=up
key[234]=up
key[235]=up
key[236]=up
key[237]=up
key[238]=up
key[239]=up
key[240]=up
key[241]=up
key[242]=up
key[243]=up
key[244]=up
key[245]=up
key[246]=up
key[247]=up
이벤트 테스트
➜ 테스트
No device specified, trying to scan all of /dev/input/event*
Not running as root, no devices may be available.
Available devices:
/dev/input/event0: Power Button
/dev/input/event1: Power Button
/dev/input/event2: ASUS ROG SPATHA
/dev/input/event3: ASUS ROG SPATHA
/dev/input/event4: Razer Razer Naga Epic Chroma Dock
/dev/input/event5: Razer Razer Naga Epic Chroma Dock
/dev/input/event6: Razer Razer Naga Epic Chroma Dock
/dev/input/event7: Penlic Wireless Mouse R2
/dev/input/event8: TypeMatrix.com USB Keyboard
/dev/input/event9: TypeMatrix.com USB Keyboard
/dev/input/event10: Kensington Expert Wireless TB
/dev/input/event11: Creative Technology Ltd. Live! Cam inPerson HD VF0720
/dev/input/event12: HDA Intel PCH Front Line Out
/dev/input/event13: HDA Intel PCH Line Out
/dev/input/event14: HDA Intel PCH Front Headphone
/dev/input/event15: Live! Cam inPerson HD VF0720: L
/dev/input/event16: HDA NVidia HDMI/DP,pcm=3
/dev/input/event17: HDA NVidia HDMI/DP,pcm=7
/dev/input/event18: HDA NVidia HDMI/DP,pcm=8
/dev/input/event19: HDA NVidia HDMI/DP,pcm=9
Select the device event number [0-19]: 2
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0xb05 product 0x1824 version 0x111
Input device name: "ASUS ROG SPATHA"
Supported events:
Event type 0 (EV_SYN)
Event type 1 (EV_KEY)
Event code 272 (BTN_LEFT)
Event code 273 (BTN_RIGHT)
Event code 274 (BTN_MIDDLE)
Event code 275 (BTN_SIDE)
Event code 276 (BTN_EXTRA)
Event type 2 (EV_REL)
Event code 0 (REL_X)
Event code 1 (REL_Y)
Event code 6 (REL_HWHEEL)
Event code 8 (REL_WHEEL)
Event type 4 (EV_MSC)
Event code 4 (MSC_SCAN)
Properties:
Testing ... (interrupt to exit)
Select the device event number [0-19]: 3
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0xb05 product 0x1824 version 0x111
Input device name: "ASUS ROG SPATHA"
Supported events:
Event type 0 (EV_SYN)
Event type 1 (EV_KEY)
Event code 1 (KEY_ESC)
Event code 2 (KEY_1)
Event code 3 (KEY_2)
Event code 4 (KEY_3)
Event code 5 (KEY_4)
Event code 6 (KEY_5)
Event code 7 (KEY_6)
Event code 8 (KEY_7)
Event code 9 (KEY_8)
Event code 10 (KEY_9)
Event code 11 (KEY_0)
Event code 12 (KEY_MINUS)
Event code 13 (KEY_EQUAL)
Event code 14 (KEY_BACKSPACE)
Event code 15 (KEY_TAB)
Event code 16 (KEY_Q)
Event code 17 (KEY_W)
Event code 18 (KEY_E)
Event code 19 (KEY_R)
Event code 20 (KEY_T)
Event code 21 (KEY_Y)
Event code 22 (KEY_U)
Event code 23 (KEY_I)
Event code 24 (KEY_O)
Event code 25 (KEY_P)
Event code 26 (KEY_LEFTBRACE)
Event code 27 (KEY_RIGHTBRACE)
Event code 28 (KEY_ENTER)
Event code 29 (KEY_LEFTCTRL)
Event code 30 (KEY_A)
Event code 31 (KEY_S)
Event code 32 (KEY_D)
Event code 33 (KEY_F)
Event code 34 (KEY_G)
Event code 35 (KEY_H)
Event code 36 (KEY_J)
Event code 37 (KEY_K)
Event code 38 (KEY_L)
Event code 39 (KEY_SEMICOLON)
Event code 40 (KEY_APOSTROPHE)
Event code 41 (KEY_GRAVE)
Event code 42 (KEY_LEFTSHIFT)
Event code 43 (KEY_BACKSLASH)
Event code 44 (KEY_Z)
Event code 45 (KEY_X)
Event code 46 (KEY_C)
Event code 47 (KEY_V)
Event code 48 (KEY_B)
Event code 49 (KEY_N)
Event code 50 (KEY_M)
Event code 51 (KEY_COMMA)
Event code 52 (KEY_DOT)
Event code 53 (KEY_SLASH)
Event code 54 (KEY_RIGHTSHIFT)
Event code 55 (KEY_KPASTERISK)
Event code 56 (KEY_LEFTALT)
Event code 57 (KEY_SPACE)
Event code 58 (KEY_CAPSLOCK)
Event code 59 (KEY_F1)
Event code 60 (KEY_F2)
Event code 61 (KEY_F3)
Event code 62 (KEY_F4)
Event code 63 (KEY_F5)
Event code 64 (KEY_F6)
Event code 65 (KEY_F7)
Event code 66 (KEY_F8)
Event code 67 (KEY_F9)
Event code 68 (KEY_F10)
Event code 69 (KEY_NUMLOCK)
Event code 70 (KEY_SCROLLLOCK)
Event code 71 (KEY_KP7)
Event code 72 (KEY_KP8)
Event code 73 (KEY_KP9)
Event code 74 (KEY_KPMINUS)
Event code 75 (KEY_KP4)
Event code 76 (KEY_KP5)
Event code 77 (KEY_KP6)
Event code 78 (KEY_KPPLUS)
Event code 79 (KEY_KP1)
Event code 80 (KEY_KP2)
Event code 81 (KEY_KP3)
Event code 82 (KEY_KP0)
Event code 83 (KEY_KPDOT)
Event code 85 (KEY_ZENKAKUHANKAKU)
Event code 86 (KEY_102ND)
Event code 87 (KEY_F11)
Event code 88 (KEY_F12)
Event code 89 (KEY_RO)
Event code 90 (KEY_KATAKANA)
Event code 91 (KEY_HIRAGANA)
Event code 92 (KEY_HENKAN)
Event code 93 (KEY_KATAKANAHIRAGANA)
Event code 94 (KEY_MUHENKAN)
Event code 95 (KEY_KPJPCOMMA)
Event code 96 (KEY_KPENTER)
Event code 97 (KEY_RIGHTCTRL)
Event code 98 (KEY_KPSLASH)
Event code 99 (KEY_SYSRQ)
Event code 100 (KEY_RIGHTALT)
Event code 102 (KEY_HOME)
Event code 103 (KEY_UP)
Event code 104 (KEY_PAGEUP)
Event code 105 (KEY_LEFT)
Event code 106 (KEY_RIGHT)
Event code 107 (KEY_END)
Event code 108 (KEY_DOWN)
Event code 109 (KEY_PAGEDOWN)
Event code 110 (KEY_INSERT)
Event code 111 (KEY_DELETE)
Event code 113 (KEY_MUTE)
Event code 114 (KEY_VOLUMEDOWN)
Event code 115 (KEY_VOLUMEUP)
Event code 116 (KEY_POWER)
Event code 117 (KEY_KPEQUAL)
Event code 119 (KEY_PAUSE)
Event code 121 (KEY_KPCOMMA)
Event code 122 (KEY_HANGUEL)
Event code 123 (KEY_HANJA)
Event code 124 (KEY_YEN)
Event code 125 (KEY_LEFTMETA)
Event code 126 (KEY_RIGHTMETA)
Event code 127 (KEY_COMPOSE)
Event code 128 (KEY_STOP)
Event code 129 (KEY_AGAIN)
Event code 130 (KEY_PROPS)
Event code 131 (KEY_UNDO)
Event code 132 (KEY_FRONT)
Event code 133 (KEY_COPY)
Event code 134 (KEY_OPEN)
Event code 135 (KEY_PASTE)
Event code 136 (KEY_FIND)
Event code 137 (KEY_CUT)
Event code 138 (KEY_HELP)
Event code 139 (KEY_MENU)
Event code 140 (KEY_CALC)
Event code 142 (KEY_SLEEP)
Event code 144 (KEY_FILE)
Event code 150 (KEY_WWW)
Event code 152 (KEY_SCREENLOCK)
Event code 155 (KEY_MAIL)
Event code 156 (KEY_BOOKMARKS)
Event code 158 (KEY_BACK)
Event code 159 (KEY_FORWARD)
Event code 161 (KEY_EJECTCD)
Event code 163 (KEY_NEXTSONG)
Event code 164 (KEY_PLAYPAUSE)
Event code 165 (KEY_PREVIOUSSONG)
Event code 166 (KEY_STOPCD)
Event code 167 (KEY_RECORD)
Event code 168 (KEY_REWIND)
Event code 169 (KEY_PHONE)
Event code 171 (KEY_CONFIG)
Event code 172 (KEY_HOMEPAGE)
Event code 173 (KEY_REFRESH)
Event code 174 (KEY_EXIT)
Event code 176 (KEY_EDIT)
Event code 177 (KEY_SCROLLUP)
Event code 178 (KEY_SCROLLDOWN)
Event code 179 (KEY_KPLEFTPAREN)
Event code 180 (KEY_KPRIGHTPAREN)
Event code 181 (KEY_NEW)
Event code 182 (KEY_REDO)
Event code 183 (KEY_F13)
Event code 184 (KEY_F14)
Event code 185 (KEY_F15)
Event code 186 (KEY_F16)
Event code 187 (KEY_F17)
Event code 188 (KEY_F18)
Event code 189 (KEY_F19)
Event code 190 (KEY_F20)
Event code 191 (KEY_F21)
Event code 192 (KEY_F22)
Event code 193 (KEY_F23)
Event code 194 (KEY_F24)
Event code 206 (KEY_CLOSE)
Event code 207 (KEY_PLAY)
Event code 208 (KEY_FASTFORWARD)
Event code 209 (KEY_BASSBOOST)
Event code 210 (KEY_PRINT)
Event code 212 (KEY_CAMERA)
Event code 216 (KEY_CHAT)
Event code 217 (KEY_SEARCH)
Event code 219 (KEY_FINANCE)
Event code 223 (KEY_CANCEL)
Event code 224 (KEY_BRIGHTNESSDOWN)
Event code 225 (KEY_BRIGHTNESSUP)
Event code 228 (KEY_KBDILLUMTOGGLE)
Event code 231 (KEY_SEND)
Event code 232 (KEY_REPLY)
Event code 233 (KEY_FORWARDMAIL)
Event code 234 (KEY_SAVE)
Event code 235 (KEY_DOCUMENTS)
Event code 240 (KEY_UNKNOWN)
Event code 241 (KEY_VIDEO_NEXT)
Event code 244 (KEY_BRIGHTNESS_ZERO)
Event code 256 (BTN_0)
Event code 353 (KEY_SELECT)
Event code 354 (KEY_GOTO)
Event code 358 (KEY_INFO)
Event code 362 (KEY_PROGRAM)
Event code 366 (KEY_PVR)
Event code 370 (KEY_SUBTITLE)
Event code 372 (KEY_ZOOM)
Event code 374 (KEY_KEYBOARD)
Event code 376 (KEY_PC)
Event code 377 (KEY_TV)
Event code 378 (KEY_TV2)
Event code 379 (KEY_VCR)
Event code 380 (KEY_VCR2)
Event code 381 (KEY_SAT)
Event code 383 (KEY_CD)
Event code 384 (KEY_TAPE)
Event code 386 (KEY_TUNER)
Event code 387 (KEY_PLAYER)
Event code 389 (KEY_DVD)
Event code 392 (KEY_AUDIO)
Event code 393 (KEY_VIDEO)
Event code 396 (KEY_MEMO)
Event code 397 (KEY_CALENDAR)
Event code 398 (KEY_RED)
Event code 399 (KEY_GREEN)
Event code 400 (KEY_YELLOW)
Event code 401 (KEY_BLUE)
Event code 402 (KEY_CHANNELUP)
Event code 403 (KEY_CHANNELDOWN)
Event code 405 (KEY_LAST)
Event code 407 (KEY_NEXT)
Event code 408 (KEY_RESTART)
Event code 409 (KEY_SLOW)
Event code 410 (KEY_SHUFFLE)
Event code 412 (KEY_PREVIOUS)
Event code 416 (KEY_VIDEOPHONE)
Event code 417 (KEY_GAMES)
Event code 418 (KEY_ZOOMIN)
Event code 419 (KEY_ZOOMOUT)
Event code 420 (KEY_ZOOMRESET)
Event code 421 (KEY_WORDPROCESSOR)
Event code 422 (KEY_EDITOR)
Event code 423 (KEY_SPREADSHEET)
Event code 424 (KEY_GRAPHICSEDITOR)
Event code 425 (KEY_PRESENTATION)
Event code 426 (KEY_DATABASE)
Event code 427 (KEY_NEWS)
Event code 428 (KEY_VOICEMAIL)
Event code 429 (KEY_ADDRESSBOOK)
Event code 430 (KEY_MESSENGER)
Event code 431 (KEY_DISPLAYTOGGLE)
Event code 432 (KEY_SPELLCHECK)
Event code 433 (KEY_LOGOFF)
Event code 439 (KEY_MEDIA_REPEAT)
Event code 442 (KEY_IMAGES)
Event code 576 (KEY_BUTTONCONFIG)
Event code 577 (KEY_TASKMANAGER)
Event code 578 (KEY_JOURNAL)
Event code 579 (KEY_CONTROLPANEL)
Event code 580 (KEY_APPSELECT)
Event code 581 (KEY_SCREENSAVER)
Event code 582 (KEY_VOICECOMMAND)
Event code 592 (KEY_BRIGHTNESS_MIN)
Event code 593 (KEY_BRIGHTNESS_MAX)
Event type 2 (EV_REL)
Event code 0 (REL_X)
Event code 1 (REL_Y)
Event code 6 (REL_HWHEEL)
Event type 3 (EV_ABS)
Event code 32 (ABS_VOLUME)
Value 0
Min 0
Max 668
Event type 4 (EV_MSC)
Event code 4 (MSC_SCAN)
Event type 17 (EV_LED)
Event code 0 (LED_NUML) state 0
Event code 1 (LED_CAPSL) state 0
Event code 2 (LED_SCROLLL) state 0
Event code 3 (LED_COMPOSE) state 0
Event code 4 (LED_KANA) state 0
Key repeat handling:
Repeat type 20 (EV_REP)
Repeat code 0 (REP_DELAY)
Value 250
Repeat code 1 (REP_PERIOD)
Value 33
Properties:
XBINDKEYS
Asus ROG SPATHA 마우스 왼쪽에 있는 버튼에 "Ctrl-W" 클릭을 할당하려고 하는데 다음과 같은 키 코드가 있습니다.
➜ xbindkeys -k
Press combination of keys or/and click under the window.
You can use one of the two lines after "NoCommand"
in $HOME/.xbindkeysrc to bind a key.
"(Scheme function)"
m:0x0 + c:16
7
~
➜ xbindkeys -k
Press combination of keys or/and click under the window.
You can use one of the two lines after "NoCommand"
in $HOME/.xbindkeysrc to bind a key.
"(Scheme function)"
m:0x0 + c:19
0
쉘 내부에서는 숫자 0과 7만 인쇄합니다. 또한 "마우스 버튼"이 부착되어 있지 않은 것 같습니다. 왜냐하면 제가 실행할 때
xev | grep button
이 버튼을 클릭하면 출력이 없으며 마우스의 일부 다른 버튼에는 마우스 버튼이 할당되어 있습니다.
➜ xev | grep button
534:ButtonPress event, serial 34, synthetic NO, window 0x1a00001,
536: state 0x0, button 1, same_screen YES
547:ButtonRelease event, serial 34, synthetic NO, window 0x1a00001,
549: state 0x100, button 1, same_screen YES
556:ButtonPress event, serial 34, synthetic NO, window 0x1a00001,
558: state 0x0, button 3, same_screen YES
569:ButtonRelease event, serial 34, synthetic NO, window 0x1a00001,
571: state 0x400, button 3, same_screen YES
578:ButtonPress event, serial 34, synthetic NO, window 0x1a00001,
580: state 0x0, button 9, same_screen YES
591:ButtonRelease event, serial 34, synthetic NO, window 0x1a00001,
593: state 0x0, button 9, same_screen YES
600:ButtonPress event, serial 34, synthetic NO, window 0x1a00001,
602: state 0x0, button 8, same_screen YES
613:ButtonRelease event, serial 34, synthetic NO, window 0x1a00001,
615: state 0x0, button 8, same_screen YES
626:ButtonPress event, serial 34, synthetic NO, window 0x1a00001,
628: state 0x0, button 2, same_screen YES
639:ButtonRelease event, serial 34, synthetic NO, window 0x1a00001,
641: state 0x200, button 2, same_screen YES
위에서 볼 수 있듯이 마우스 버튼 1,2,3,8,9는 있지만 4,5,6,7은 없습니다(마우스에는 클릭 가능한 버튼이 총 9개 있습니다).