모종의 음모/force feedback

joyston air twister fx on linux

구차니 2024. 10. 21. 23:05

비행기용 조이스틱인데 대충보기에는 참 평이한 구성으로 출력된다.

$ sudo evtest 

No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0: Sleep Button
/dev/input/event1: Lid Switch
/dev/input/event10: HDA Intel PCH Line
/dev/input/event11: HDA Intel PCH Dock Line Out
/dev/input/event12: HDA Intel PCH Headphone
/dev/input/event13: HDA Intel PCH HDMI/DP,pcm=3
/dev/input/event14: Wacom Serial Penabled 2FG Touchscreen Pen
/dev/input/event15: Wacom Serial Penabled 2FG Touchscreen Finger
/dev/input/event16: 5-Axis,12-Button with POV 
/dev/input/event2: Power Button
/dev/input/event3: AT Translated Set 2 keyboard
/dev/input/event4: PS/2 Generic Mouse
/dev/input/event5: SynPS/2 Synaptics TouchPad
/dev/input/event6: ST LIS3LV02DL Accelerometer
/dev/input/event7: HP WMI hotkeys
/dev/input/event8: Video Bus
/dev/input/event9: HDA Intel PCH Mic
Select the device event number [0-16]: 16
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x12bd product 0xa02f version 0x110
Input device name: "5-Axis,12-Button with POV "
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 288 (BTN_TRIGGER)
    Event code 289 (BTN_THUMB)
    Event code 290 (BTN_THUMB2)
    Event code 291 (BTN_TOP)
    Event code 292 (BTN_TOP2)
    Event code 293 (BTN_PINKIE)
    Event code 294 (BTN_BASE)
    Event code 295 (BTN_BASE2)
    Event code 296 (BTN_BASE3)
    Event code 297 (BTN_BASE4)
    Event code 298 (BTN_BASE5)
    Event code 299 (BTN_BASE6)
    Event code 300 (?)
  Event type 3 (EV_ABS)
    Event code 0 (ABS_X)
      Value      0
      Min        0
      Max      255
      Flat      15
    Event code 1 (ABS_Y)
      Value      0
      Min        0
      Max      255
      Flat      15
    Event code 2 (ABS_Z)
      Value      0
      Min        0
      Max      255
      Flat      15
    Event code 5 (ABS_RZ)
      Value      0
      Min        0
      Max      255
      Flat      15
    Event code 6 (ABS_THROTTLE)
      Value      0
      Min        0
      Max      255
      Flat      15
    Event code 16 (ABS_HAT0X)
      Value      0
      Min       -1
      Max        1
    Event code 17 (ABS_HAT0Y)
      Value      0
      Min       -1
      Max        1
  Event type 4 (EV_MSC)
    Event code 4 (MSC_SCAN)
Properties:
Testing ... (interrupt to exit)
Event: time 1729519360.492894, type 3 (EV_ABS), code 0 (ABS_X), value 127
Event: time 1729519360.492894, type 3 (EV_ABS), code 1 (ABS_Y), value 127
Event: time 1729519360.492894, type 3 (EV_ABS), code 5 (ABS_RZ), value 127
Event: time 1729519360.492894, type 3 (EV_ABS), code 6 (ABS_THROTTLE), value 127
Event: time 1729519360.492894, -------------- SYN_REPORT ------------
Event: time 1729519376.404629, type 3 (EV_ABS), code 2 (ABS_Z), value 1
Event: time 1729519376.404629, -------------- SYN_REPORT ------------
Event: time 1729519376.436627, type 3 (EV_ABS), code 2 (ABS_Z), value 5
Event: time 1729519376.436627, -------------- SYN_REPORT ------------
Event: time 1729519376.476618, type 3 (EV_ABS), code 2 (ABS_Z), value 8
Event: time 1729519376.476618, -------------- SYN_REPORT ------------
Event: time 1729519376.564670, type 3 (EV_ABS), code 2 (ABS_Z), value 11
Event: time 1729519376.564670, -------------- SYN_REPORT ------------
Event: time 1729519377.748662, type 3 (EV_ABS), code 2 (ABS_Z), value 5
Event: time 1729519377.748662, -------------- SYN_REPORT ------------
Event: time 1729519377.780707, type 3 (EV_ABS), code 2 (ABS_Z), value 0
Event: time 1729519377.780707, -------------- SYN_REPORT ------------
Event: time 1729519378.244729, type 3 (EV_ABS), code 0 (ABS_X), value 125
Event: time 1729519378.244729, -------------- SYN_REPORT ------------
Event: time 1729519378.276728, type 3 (EV_ABS), code 0 (ABS_X), value 118
Event: time 1729519378.276728, -------------- SYN_REPORT ------------
Event: time 1729519378.292704, type 3 (EV_ABS), code 0 (ABS_X), value 112
Event: time 1729519378.292704, -------------- SYN_REPORT ------------
Event: time 1729519378.324727, type 3 (EV_ABS), code 0 (ABS_X), value 105
Event: time 1729519378.324727, -------------- SYN_REPORT ------------
Event: time 1729519378.340660, type 3 (EV_ABS), code 0 (ABS_X), value 109
Event: time 1729519378.340660, -------------- SYN_REPORT ------------
Event: time 1729519378.500725, type 3 (EV_ABS), code 0 (ABS_X), value 112
Event: time 1729519378.500725, -------------- SYN_REPORT ------------
Event: time 1729519378.516727, type 3 (EV_ABS), code 0 (ABS_X), value 115
Event: time 1729519378.516727, -------------- SYN_REPORT ------------
Event: time 1729519378.532603, type 3 (EV_ABS), code 0 (ABS_X), value 125
Event: time 1729519378.532603, -------------- SYN_REPORT ------------
Event: time 1729519378.548647, type 3 (EV_ABS), code 0 (ABS_X), value 127
Event: time 1729519378.548647, -------------- SYN_REPORT ------------
Event: time 1729519380.036592, type 3 (EV_ABS), code 0 (ABS_X), value 134
Event: time 1729519380.036592, -------------- SYN_REPORT ------------
Event: time 1729519380.052624, type 3 (EV_ABS), code 0 (ABS_X), value 144
Event: time 1729519380.052624, -------------- SYN_REPORT ------------
Event: time 1729519380.068580, type 3 (EV_ABS), code 0 (ABS_X), value 150
Event: time 1729519380.068580, -------------- SYN_REPORT ------------
Event: time 1729519380.164676, type 3 (EV_ABS), code 0 (ABS_X), value 144
Event: time 1729519380.164676, -------------- SYN_REPORT ------------
Event: time 1729519380.196695, type 3 (EV_ABS), code 0 (ABS_X), value 131
Event: time 1729519380.196695, -------------- SYN_REPORT ------------
Event: time 1729519380.212620, type 3 (EV_ABS), code 0 (ABS_X), value 127
Event: time 1729519380.212620, -------------- SYN_REPORT ------------
Event: time 1729519380.716688, type 3 (EV_ABS), code 1 (ABS_Y), value 121
Event: time 1729519380.716688, -------------- SYN_REPORT ------------
Event: time 1729519380.724588, type 3 (EV_ABS), code 1 (ABS_Y), value 115
Event: time 1729519380.724588, -------------- SYN_REPORT ------------
Event: time 1729519380.756619, type 3 (EV_ABS), code 1 (ABS_Y), value 102
Event: time 1729519380.756619, -------------- SYN_REPORT ------------
Event: time 1729519380.780616, type 3 (EV_ABS), code 1 (ABS_Y), value 86
Event: time 1729519380.780616, -------------- SYN_REPORT ------------
Event: time 1729519380.836605, type 3 (EV_ABS), code 1 (ABS_Y), value 89
Event: time 1729519380.836605, -------------- SYN_REPORT ------------
Event: time 1729519380.852619, type 3 (EV_ABS), code 1 (ABS_Y), value 96
Event: time 1729519380.852619, -------------- SYN_REPORT ------------
Event: time 1729519380.868581, type 3 (EV_ABS), code 1 (ABS_Y), value 102
Event: time 1729519380.868581, -------------- SYN_REPORT ------------
Event: time 1729519380.884619, type 3 (EV_ABS), code 1 (ABS_Y), value 105
Event: time 1729519380.884619, -------------- SYN_REPORT ------------
Event: time 1729519380.900619, type 3 (EV_ABS), code 1 (ABS_Y), value 121
Event: time 1729519380.900619, -------------- SYN_REPORT ------------
Event: time 1729519380.916570, type 3 (EV_ABS), code 1 (ABS_Y), value 127
Event: time 1729519380.916570, -------------- SYN_REPORT ------------
Event: time 1729519381.188653, type 3 (EV_ABS), code 1 (ABS_Y), value 141
Event: time 1729519381.188653, -------------- SYN_REPORT ------------
Event: time 1729519381.204673, type 3 (EV_ABS), code 1 (ABS_Y), value 157
Event: time 1729519381.204673, -------------- SYN_REPORT ------------
Event: time 1729519381.220616, type 3 (EV_ABS), code 1 (ABS_Y), value 176
Event: time 1729519381.220616, -------------- SYN_REPORT ------------
Event: time 1729519381.236686, type 3 (EV_ABS), code 1 (ABS_Y), value 179
Event: time 1729519381.236686, -------------- SYN_REPORT ------------
Event: time 1729519381.284615, type 3 (EV_ABS), code 1 (ABS_Y), value 185
Event: time 1729519381.284615, -------------- SYN_REPORT ------------
Event: time 1729519381.300681, type 3 (EV_ABS), code 1 (ABS_Y), value 189
Event: time 1729519381.300681, -------------- SYN_REPORT ------------
Event: time 1729519381.332672, type 3 (EV_ABS), code 1 (ABS_Y), value 182
Event: time 1729519381.332672, -------------- SYN_REPORT ------------
Event: time 1729519381.348636, type 3 (EV_ABS), code 1 (ABS_Y), value 163
Event: time 1729519381.348636, -------------- SYN_REPORT ------------
Event: time 1729519381.364569, type 3 (EV_ABS), code 1 (ABS_Y), value 157
Event: time 1729519381.364569, -------------- SYN_REPORT ------------
Event: time 1729519381.380562, type 3 (EV_ABS), code 1 (ABS_Y), value 134
Event: time 1729519381.380562, -------------- SYN_REPORT ------------
Event: time 1729519381.396569, type 3 (EV_ABS), code 1 (ABS_Y), value 127
Event: time 1729519381.396569, -------------- SYN_REPORT ------------
Event: time 1729519381.924653, type 3 (EV_ABS), code 5 (ABS_RZ), value 102
Event: time 1729519381.924653, -------------- SYN_REPORT ------------
Event: time 1729519381.948554, type 3 (EV_ABS), code 5 (ABS_RZ), value 77
Event: time 1729519381.948554, -------------- SYN_REPORT ------------
Event: time 1729519381.956595, type 3 (EV_ABS), code 5 (ABS_RZ), value 45
Event: time 1729519381.956595, -------------- SYN_REPORT ------------
Event: time 1729519381.972676, type 3 (EV_ABS), code 5 (ABS_RZ), value 32
Event: time 1729519381.972676, -------------- SYN_REPORT ------------
Event: time 1729519381.988661, type 3 (EV_ABS), code 5 (ABS_RZ), value 13
Event: time 1729519381.988661, -------------- SYN_REPORT ------------
Event: time 1729519382.004635, type 3 (EV_ABS), code 5 (ABS_RZ), value 0
Event: time 1729519382.004635, -------------- SYN_REPORT ------------
Event: time 1729519382.180676, type 3 (EV_ABS), code 5 (ABS_RZ), value 19
Event: time 1729519382.180676, -------------- SYN_REPORT ------------
Event: time 1729519382.196647, type 3 (EV_ABS), code 5 (ABS_RZ), value 57
Event: time 1729519382.196647, -------------- SYN_REPORT ------------
Event: time 1729519382.212566, type 3 (EV_ABS), code 5 (ABS_RZ), value 118
Event: time 1729519382.212566, -------------- SYN_REPORT ------------
Event: time 1729519382.228621, type 3 (EV_ABS), code 5 (ABS_RZ), value 127
Event: time 1729519382.228621, -------------- SYN_REPORT ------------
Event: time 1729519382.692582, type 3 (EV_ABS), code 5 (ABS_RZ), value 131
Event: time 1729519382.692582, -------------- SYN_REPORT ------------
Event: time 1729519382.708594, type 3 (EV_ABS), code 5 (ABS_RZ), value 169
Event: time 1729519382.708594, -------------- SYN_REPORT ------------
Event: time 1729519382.724545, type 3 (EV_ABS), code 5 (ABS_RZ), value 201
Event: time 1729519382.724545, -------------- SYN_REPORT ------------
Event: time 1729519382.740618, type 3 (EV_ABS), code 5 (ABS_RZ), value 240
Event: time 1729519382.740618, -------------- SYN_REPORT ------------
Event: time 1729519382.756563, type 3 (EV_ABS), code 5 (ABS_RZ), value 255
Event: time 1729519382.756563, -------------- SYN_REPORT ------------
Event: time 1729519383.028663, type 3 (EV_ABS), code 5 (ABS_RZ), value 176
Event: time 1729519383.028663, -------------- SYN_REPORT ------------
Event: time 1729519383.052537, type 3 (EV_ABS), code 5 (ABS_RZ), value 127
Event: time 1729519383.052537, -------------- SYN_REPORT ------------
Event: time 1729519384.324643, type 3 (EV_ABS), code 16 (ABS_HAT0X), value -1
Event: time 1729519384.324643, -------------- SYN_REPORT ------------
Event: time 1729519384.500623, type 3 (EV_ABS), code 16 (ABS_HAT0X), value 0
Event: time 1729519384.500623, -------------- SYN_REPORT ------------
Event: time 1729519384.900614, type 3 (EV_ABS), code 16 (ABS_HAT0X), value 1
Event: time 1729519384.900614, -------------- SYN_REPORT ------------
Event: time 1729519385.028587, type 3 (EV_ABS), code 16 (ABS_HAT0X), value 0
Event: time 1729519385.028587, -------------- SYN_REPORT ------------
Event: time 1729519385.732602, type 3 (EV_ABS), code 17 (ABS_HAT0Y), value -1
Event: time 1729519385.732602, -------------- SYN_REPORT ------------
Event: time 1729519385.828630, type 3 (EV_ABS), code 17 (ABS_HAT0Y), value 0
Event: time 1729519385.828630, -------------- SYN_REPORT ------------
Event: time 1729519386.148622, type 3 (EV_ABS), code 17 (ABS_HAT0Y), value 1
Event: time 1729519386.148622, -------------- SYN_REPORT ------------
Event: time 1729519386.292620, type 3 (EV_ABS), code 17 (ABS_HAT0Y), value 0
Event: time 1729519386.292620, -------------- SYN_REPORT ------------
Event: time 1729519390.404480, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90003
Event: time 1729519390.404480, type 1 (EV_KEY), code 290 (BTN_THUMB2), value 1
Event: time 1729519390.404480, -------------- SYN_REPORT ------------
Event: time 1729519390.548563, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90003
Event: time 1729519390.548563, type 1 (EV_KEY), code 290 (BTN_THUMB2), value 0
Event: time 1729519390.548563, -------------- SYN_REPORT ------------
Event: time 1729519390.836563, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90004
Event: time 1729519390.836563, type 1 (EV_KEY), code 291 (BTN_TOP), value 1
Event: time 1729519390.836563, -------------- SYN_REPORT ------------
Event: time 1729519390.996562, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90004
Event: time 1729519390.996562, type 1 (EV_KEY), code 291 (BTN_TOP), value 0
Event: time 1729519390.996562, -------------- SYN_REPORT ------------
Event: time 1729519391.188532, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90005
Event: time 1729519391.188532, type 1 (EV_KEY), code 292 (BTN_TOP2), value 1
Event: time 1729519391.188532, -------------- SYN_REPORT ------------
Event: time 1729519391.364552, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90005
Event: time 1729519391.364552, type 1 (EV_KEY), code 292 (BTN_TOP2), value 0
Event: time 1729519391.364552, -------------- SYN_REPORT ------------
Event: time 1729519391.716501, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90006
Event: time 1729519391.716501, type 1 (EV_KEY), code 293 (BTN_PINKIE), value 1
Event: time 1729519391.716501, -------------- SYN_REPORT ------------
Event: time 1729519391.836545, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90006
Event: time 1729519391.836545, type 1 (EV_KEY), code 293 (BTN_PINKIE), value 0
Event: time 1729519391.836545, -------------- SYN_REPORT ------------
Event: time 1729519392.516539, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90007
Event: time 1729519392.516539, type 1 (EV_KEY), code 294 (BTN_BASE), value 1
Event: time 1729519392.516539, -------------- SYN_REPORT ------------
Event: time 1729519392.700485, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90007
Event: time 1729519392.700485, type 1 (EV_KEY), code 294 (BTN_BASE), value 0
Event: time 1729519392.700485, -------------- SYN_REPORT ------------
Event: time 1729519392.884502, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90008
Event: time 1729519392.884502, type 1 (EV_KEY), code 295 (BTN_BASE2), value 1
Event: time 1729519392.884502, -------------- SYN_REPORT ------------
Event: time 1729519393.076535, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90008
Event: time 1729519393.076535, type 1 (EV_KEY), code 295 (BTN_BASE2), value 0
Event: time 1729519393.076535, -------------- SYN_REPORT ------------
Event: time 1729519393.268530, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90009
Event: time 1729519393.268530, type 1 (EV_KEY), code 296 (BTN_BASE3), value 1
Event: time 1729519393.268530, -------------- SYN_REPORT ------------
Event: time 1729519393.436531, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90009
Event: time 1729519393.436531, type 1 (EV_KEY), code 296 (BTN_BASE3), value 0
Event: time 1729519393.436531, -------------- SYN_REPORT ------------
Event: time 1729519393.620525, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9000a
Event: time 1729519393.620525, type 1 (EV_KEY), code 297 (BTN_BASE4), value 1
Event: time 1729519393.620525, -------------- SYN_REPORT ------------
Event: time 1729519393.804518, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9000a
Event: time 1729519393.804518, type 1 (EV_KEY), code 297 (BTN_BASE4), value 0
Event: time 1729519393.804518, -------------- SYN_REPORT ------------
Event: time 1729519393.972522, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9000b
Event: time 1729519393.972522, type 1 (EV_KEY), code 298 (BTN_BASE5), value 1
Event: time 1729519393.972522, -------------- SYN_REPORT ------------
Event: time 1729519394.148515, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9000b
Event: time 1729519394.148515, type 1 (EV_KEY), code 298 (BTN_BASE5), value 0
Event: time 1729519394.148515, -------------- SYN_REPORT ------------
Event: time 1729519394.436515, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9000c
Event: time 1729519394.436515, type 1 (EV_KEY), code 299 (BTN_BASE6), value 1
Event: time 1729519394.436515, -------------- SYN_REPORT ------------
Event: time 1729519394.644514, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9000c
Event: time 1729519394.644514, type 1 (EV_KEY), code 299 (BTN_BASE6), value 0
Event: time 1729519394.644514, -------------- SYN_REPORT ------------

 

어.. 예전에 진동은 있었던 것 같은데(하단에 진동 on/off 스위치 존재)

써본적이 없나? 기억이 안나네..

$ sudo fftest 
Force feedback test program.
HOLD FIRMLY YOUR WHEEL OR JOYSTICK TO PREVENT DAMAGES

Device /dev/input/event0 opened
Features:
  * Absolute axes: 
    [00 00 00 00 00 00 00 00 ]
  * Relative axes: 
    [00 00 ]
  * Force feedback effects types: 
    Force feedback periodic effects: 
    [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ]
  * Number of simultaneous effects: 0

Uploading effect #0 (Periodic sinusoidal) ... Error:: Function not implemented
Uploading effect #1 (Constant) ... Error: Function not implemented
Uploading effect #2 (Spring) ... Error: Function not implemented
Uploading effect #3 (Damper) ... Error: Function not implemented
Uploading effect #4 (Strong rumble, with heavy motor) ... Error: Function not implemented
Uploading effect #5 (Weak rumble, with light motor) ... Error: Function not implemented
Enter effect number, -1 to exit