'잡동사니'에 해당되는 글 14349건

  1. 2026.04.03 jstest
  2. 2026.04.03 jetracer 조이스틱 연결
  3. 2026.04.03 커널 cmdline 관련 함수
  4. 2026.04.02 개피곤
  5. 2026.04.01 jetracer 조립 거의 완료
  6. 2026.04.01 qt ui loader
  7. 2026.03.31 jetson nano 조이스틱 연결
  8. 2026.03.31 ats mini v4
  9. 2026.03.31 qt widget fullscreen
  10. 2026.03.31 qt media 재생하기
Linux2026. 4. 3. 22:47

조이스틱 테스트 유틸리티.

그래서 js 인가..

 

$ apt-cache search jstest
joystick - set of testing and calibration tools for joysticks
jstest-gtk - joystick testing and configuration tool

 

$ jstest

Usage: jstest [<mode>] <device>

Modes:
  --normal           One-line mode showing immediate status
  --old              Same as --normal, using 0.x interface
  --event            Prints events as they come in
  --nonblock         Same as --event, in nonblocking mode
  --select           Same as --event, using select() call

 

 other에 r이 있어서 그래도 조이스틱 값은 sudo를 쓰지 않아도 읽히긴 한다.

$ ls -al /dev/input/js0
crw-rw-r--+ 1 root input 13, 0 Apr  3 06:32 /dev/input/js0

 

수치로 보니 아무튼 난잡한데

$ jstest /dev/input/js0
Driver version is 2.1.0.
Joystick (ShanWan PC/PS3/Android) has 8 axes (X, Y, Z, Rz, Gas, Brake, Hat0X, Hat0Y)
and 16 buttons (BtnA, BtnB, BtnC, BtnX, BtnY, BtnZ, BtnTL, BtnTR, BtnTL2, BtnTR2, BtnSelect, BtnStart, BtnMode, BtnThumbL, BtnThumbR, ?).
Testing ... (interrupt to exit)
Axes:  0:     0  1:     0  2:     0  3:     0  4:     0  5:     0  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:     0  1:     0  2:     0  3:     0  4:     0  5:     0  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:     0  1:     0  2:     0  3:     0  4:     0  5:     0  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:     0  1:     0  2:     0  3:     0  4:     0  5:     0  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:     0  1:     0  2:     0  3:     0  4:     0  5:     0  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:     0  1:     0  2:     0  3:     0  4:     0  5:     0  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:     0  1:     0  2:     0  3:     0  4:     0  5:     0  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:     0  2:     0  3:     0  4:     0  5:     0  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-32767  2:     0  3:     0  4:     0  5:     0  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-32767  2:-32767  3:     0  4:     0  5:     0  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-32767  2:-32767  3:-32767  4:     0  5:     0  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-32767  2:-32767  3:-32767  4:-32767  5:     0  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-20607  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-20945  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-20607  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-20945  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-20607  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-20607  1: -7095  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-20607  1:-23648  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-20607  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-20945  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-20607  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-20607  1:-32767  2:-32767  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-20607  1:-32767  2:-32767  3: -1014  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-20607  1:-32767  2:-32767  3:-10135  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-20607  1:-32767  2:-32767  3:-17905  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-20607  1:-32767  2:-32767  3:-25337  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-20607  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-20945  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-26012  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-32093  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-27363  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-23310  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-19932  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-19932  2: 14188  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-17905  2: 14188  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-17905  2: 29727  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-17229  2: 29727  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-17229  2: 32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-16216  2: 32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-12837  2: 32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-10811  2: 32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1: -8446  2: 32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:  -338  2: 32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:     0  2: 32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:     0  2: 32767  3:-27701  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:     0  2: 32767  3:-20607  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:     0  2: 32767  3:-13175  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:     0  2: 32767  3: -5068  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:     0  2: 32767  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:  4053  2: 32767  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1: 19931  2: 32767  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-26350  1: 19931  2: 32767  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-26350  1: 31754  2: 32767  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17567  1: 31754  2: 32767  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17567  1: 32767  2: 32767  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1: 32767  2: 32767  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1: 32767  2: 32767  3:  5405  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1: 32767  2: 32767  3:  9796  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1: 32767  2: 32767  3: 13512  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-10473  1: 32767  2: 32767  3: 13512  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-10473  1: 32767  2: 32767  3: 21957  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: -2703  1: 32767  2: 32767  3: 21957  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: -2703  1: 32767  2: 32767  3: 28376  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:     0  1: 32767  2: 32767  3: 28376  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:     0  1: 32767  2: 32767  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1: 32767  2: 32767  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1: 32767  2: 30741  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1: 32767  2:  7769  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1: 24998  2:  7769  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1: 24998  2:     0  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1: 18917  2:     0  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1: 12499  2:     0  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:  2364  2:     0  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:     0  2:     0  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:     0  2:-11486  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:     0  2:-32767  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:     0  2:-32767  3: 30065  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:     0  2:-32767  3: 18579  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:     0  2:-32767  3:  6080  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:     0  2:-32767  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1: -1352  2:-32767  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1: -8446  2:-32767  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-15878  2:-32767  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-19256  2:-32767  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-24661  2:-32767  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-31417  2:-32767  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:-32767  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:-32767  3: -8108  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:-32767  3:-20945  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:     0  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: -2703  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: -8446  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:-32767  2:-26012  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:-32767  2:-11148  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:-32767  2:     0  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17567  1:-32767  2:     0  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-24999  1:-32767  2:     0  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-32767  2:     0  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-32767  2:  5405  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-32767  2: 21282  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-32767  2: 32092  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-32767  2: 32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-30742  2: 32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-22634  2: 32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-22634  2: 32767  3:-32431  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-15540  2: 32767  3:-32431  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-15540  2: 32767  3:-17567  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1: -5406  2: 32767  3:-17567  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1: -5406  2: 32767  3: -1352  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:     0  2: 32767  3: -1352  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:     0  2: 32767  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:     0  2: 32767  3:  2364  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-28715  1:     0  2: 32767  3:  2364  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-28715  1:     0  2: 32767  3: 11485  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17567  1:     0  2: 32767  3: 11485  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17567  1:   675  2: 32767  3: 11485  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17567  1:   675  2: 32767  3: 17228  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:   675  2: 32767  3: 17228  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:  7094  2: 32767  3: 17228  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:  7094  2: 32767  3: 26687  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1: 11147  2: 32767  3: 26687  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1: 11147  2: 29052  3: 26687  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1: 11147  2: 29052  3: 30403  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1: 14188  2: 29052  3: 30403  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1: 14188  2: 15201  3: 30403  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1: 14188  2: 15201  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-15878  1: 14188  2: 15201  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-15878  1: 14526  2: 15201  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-15878  1: 14526  2:  1689  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: -6081  1: 14526  2:  1689  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: -6081  1: 14863  2:  1689  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: -6081  1: 14863  2:     0  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:     0  1: 14863  2:     0  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:     0  1: 15201  2:     0  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1: 15201  2:     0  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1: 14526  2:     0  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1: 12161  2:     0  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:  5067  2:     0  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:     0  2:     0  3: 32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:     0  2:     0  3: 26011  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:     0  2:     0  3: 15877  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:     0  2:-11824  3: 15877  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:     0  2:-11824  3:  9120  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:     0  2:-21958  3:  9120  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:     0  2:-21958  3:  2026  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:     0  2:-29728  3:  2026  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:     0  2:-29728  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:     0  2:-32767  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1: -1352  2:-32767  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-10135  2:-32767  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-17905  2:-32767  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-26350  2:-32767  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-26350  2:-32767  3:-11148  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:-32767  3:-11148  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:-32767  3:-18580  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:-32767  3:-26350  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: -2027  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-11824  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:-32767  2:-31755  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:-32767  2:-22296  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:-32767  2: -8446  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-28715  1:-32767  2: -8446  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-28715  1:-32767  2:     0  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-32767  2:     0  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:-22972  2:     0  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:     0  2:     0  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:     0  2:  2364  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:     0  2:  7094  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:     0  2:  9458  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:     0  2: 10810  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:     0  2: 10810  3:-28377  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:     0  2: 11823  3:-28377  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-32767  1:     0  2: 11823  3:-22296  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-31079  1:     0  2: 11823  3:-22296  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-31079  1:  1351  2: 11823  3:-22296  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-31079  1:  1351  2: 14188  3:-22296  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-31079  1:  1351  2: 14188  3: -9459  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-30066  1:  1351  2: 14188  3: -9459  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-30066  1:  4729  2: 14188  3: -9459  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-30066  1:  4729  2: 14188  3: -6081  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-28039  1:  4729  2: 14188  3: -6081  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-28039  1:  8783  2: 14188  3: -6081  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-28039  1:  8783  2: 14188  3: -1690  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-25674  1:  8783  2: 14188  3: -1690  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-25674  1: 12499  2: 14188  3: -1690  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-25674  1: 12499  2: 14188  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-23310  1: 12499  2: 14188  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-23310  1: 16215  2: 14188  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-18242  1: 16215  2: 14188  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-18242  1: 18917  2: 14188  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1: 18917  2: 14188  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1: 20606  2: 14188  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1: 20606  2:  7431  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1: 20606  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1: 20268  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1: 15539  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:  5067  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:     0  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:     0  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1: -1014  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1: -5406  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:-10811  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:-17567  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:-23985  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:-23985  2:     0  3:     0  4:-32767  5:-32767  6:     0  7: 32767 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:-32767  2:     0  3:     0  4:-32767  5:-32767  6:     0  7: 32767 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:-32767  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:-32767  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-14864  1:-32767  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-11824  1:-32767  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: -9121  1:-32767  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: -7770  1:-32767  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: -7432  1:-32767  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: -7095  1:-32767  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: -5743  1:-32767  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: -3379  1:-32767  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: -1352  1:-32767  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:     0  1:-32767  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:     0  3:     0  4:-32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:     0  3: -4730  4:-32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:     0  3: -6081  4:-32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:     0  3: -6419  4:-32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:     0  3: -6081  4:-32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:     0  3: -4392  4:-32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:     0  3: -1352  4:-32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:     0  3:  -676  4:-32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:     0  3:     0  4:-32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:     0  3: -2703  4:-32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:     0  3: -8108  4:-32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:     0  3:-12500  4:-32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:     0  3:-12500  4:-32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:     0  3:-12500  4: 32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:     0  3:-16216  4: 32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:     0  3:-24323  4: 32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2: -1690  3:-24323  4: 32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2: -1690  3:-29728  4: 32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2: -7432  3:-29728  4: 32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2: -7432  3:-32767  4: 32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:-13513  3:-32767  4: 32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:-19932  3:-32767  4: 32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:-27701  3:-32767  4: 32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:-32767  3:-32767  4: 32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:-32767  3:-32767  4: 32767  5: 32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: 32767  1:-32767  2:-32767  3:-32767  4: 32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:     0  1:-32767  2:-32767  3:-32767  4: 32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0: -1352  1:-32767  2:-32767  3:-32767  4: 32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-10811  1:-32767  2:-32767  3:-32767  4: 32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-10811  1:-11148  2:-32767  3:-32767  4: 32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:-11148  2:-32767  3:-32767  4: 32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:     0  2:-32767  3:-32767  4: 32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:     0  2:-32767  3:-32767  4: 32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:     0  2:-32767  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:     0  2:-20945  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:     0  2:  -676  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:     0  2:     0  3:-32767  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:     0  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17567  1:     0  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:ofAxes:  0:-17229  1:     0  2:     0  3:     0  4:-32767  5:-32767  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off  7:off  8:off  9:off 10:off 11:off 12:off 13:off 14:off 15:off 

 

이럴땐 gui가 좋긴해 ㅎㅎ

$ jstest-gtk






 

[링크 : https://m.blog.naver.com/zeta0807/222292943574]

[링크 : https://linux.die.net/man/1/jstest]

 

'Linux' 카테고리의 다른 글

fc-list 폰트 관리  (0) 2026.06.09
hdmi 연결과 비디오 메모리 사용량  (0) 2026.05.02
리눅스 메모리 timing 확인하기  (0) 2026.01.27
journalctl 옵션  (0) 2026.01.20
proc fs smp_affinity  (0) 2025.09.19
Posted by 구차니
embeded/raspberry pi2026. 4. 3. 22:35

음.. 조이스틱이 먼가 이상한가 이상하게 작동한다.

아무튼! 아래부분 코드를 basic_motion.ipynb에 섞어서 하면 그럴싸하게 조작이 가능해진다.

 

[링크 : https://www.waveshare.com/wiki/JetRacer_AI_Kit?srsltid=AfmBOorvXoDjlzr5jjLjmmnLwCiNINsrvLWTPl9Jh_OOBIDI2szAebf6]

 

 

import ipywidgets.widgets as widgets
controller = widgets.Controller(index=0)
display(controller)

 

아래줄은 왜 에러나는지 모르겠다. 어떨 땐 되고, 어떨 땐 안되고 -_-

그 와중에 어댑터로 했는데 전원 부족한가 자꾸 어느정도 하다보면 죽네..

import traitlets
left_link = traitlets.dlink((controller.axes[0], 'value'), (car, 'steering'), transform=lambda x:-x)
right_link = traitlets.dlink((controller.axes[1], 'value'), (car, 'throttle'), transform=lambda x:x)

 

아무튼 조이스틱에 home을 누르면 아날로그 / 디지털 모드가 바뀐다.

서보랑 속도를 자연스럽게 조작이 가능해짐!

'embeded > raspberry pi' 카테고리의 다른 글

rpi pico + lcd st7735 using circuitpython + thonny  (0) 2025.10.09
라즈베리 파이 pwm 출력  (0) 2024.12.31
node-red  (0) 2024.11.21
cli 에서 chrome refresh 하기  (0) 2024.09.24
라즈베리 파이 gui 재시작(lxde)  (0) 2024.09.19
Posted by 구차니
Linux API/linux2026. 4. 3. 12:06

 

22.5 cmdline_find_option()
command line에서 option을 파싱하는 함수다.

이 함수는 __cmdline_find_option()를 호출한다. booting시의 함수라면 cmdline의 위치가 1M 위쪽에 있으면 찾지않고 리턴한다.

[링크 : https://www.iamroot.org/ldocs/linux.html#sec-22-5]

'Linux API > linux' 카테고리의 다른 글

kernel driver  (0) 2026.04.06
kernel input_event()  (1) 2025.12.23
linux 시리얼 포트 열기(termios)  (0) 2025.10.11
LD_DEBUG=libs  (0) 2025.06.02
linux device tree(dtb) 문법...?  (0) 2024.12.04
Posted by 구차니

잠을 빨리 못 자는건 왜인지.. 예전에는 머리만 닿으면 자더니.. ㅠㅠ

'개소리 왈왈 > 육아관련 주저리' 카테고리의 다른 글

유류비 지원 때문인가?  (0) 2026.05.01
레일 교체  (0) 2026.04.08
앉아보기  (0) 2026.03.29
잠 + 밥 + 화장실 반복  (0) 2026.03.28
퇴원  (4) 2026.03.27
Posted by 구차니
embeded/jetson2026. 4. 1. 22:58

어우 빡세다.

전륜부 부품을 봐서는 오프로드는 꿈을 꾸면 안 될 느낌이고

그 와중에 천막이 있어서 머지 싶어서 주워오지 않았는데 그게 레이싱 트랙인 것 같았고(!)

 

서보는 잠시 켜서 car.steering = 0 해서 놔둔다음 수직으로 해야지 그나마 좌우 조향 각이 맞는 것 같고

그걸 위해서 짧은 샤프트는 정말 엄청 짧게 만들어야 했다.

앞 바퀴쪽은 너트들도 작아서 조립이 고생 후..

이제 보호회로 들은 배터리 들어갈수 있도록 좀 눌러주고 하면 어찌 될 듯

[링크 : https://www.waveshare.com/wiki/JetRacer_Assembly_Manual]

 

pcie 무선랜/블투는 뽑아버리고

귀찮으니(!) usb로 대체할 예정

안테나 달기 귀찮고 박스에 비해서 폭이 커지는 바람에 박스는 딱 부품용..

조립 이후에도 넣을수 있게 해두었으면 좋았을텐데 아쉽다.

'embeded > jetson' 카테고리의 다른 글

jetracer interactive-regression  (1) 2026.04.04
imx219-160  (0) 2026.04.03
jetson nano 조이스틱 연결  (0) 2026.03.31
jetracer 서보는 되는데 모터가 안될때  (0) 2026.03.30
jetson nano + m.2 wifi  (0) 2026.03.20
Posted by 구차니
Programming/qt2026. 4. 1. 14:56

QT 에서 ui를 사용하는? 불러오는? 방법은 크게 두가지가 있는데

하나는 ui 파일을 "런타임"에 읽어와서 사용하는 것이고

다른 하나는 qic 를 통해 cpp/h 로 변환해서 사용하는 것이다.

[링크 : https://doc.qt.io/qt-6/ko/designer-using-a-ui-file.html]

 

QT Ui Loader 를 이용하여 런타임중에 불러와서 쓰는 것과 

Header: #include <QUiLoader>
CMake: find_package(Qt6 REQUIRED COMPONENTS UiTools)
target_link_libraries(mytarget PRIVATE Qt6::UiTools)
qmake: QT += uitools

[링크 : https://doc.qt.io/qt-6/quiloader.html]

 

 

qt designer로 디자인하고

[링크 : https://doc.qt.io/qt-6/ko/qtdesigner-manual.html]

 

qic를 통해 소스로 변환하는 것이 있다.

[링크 : https://doc.qt.io/qt-6/ko/uic.html]

 

어쩌면 python을 위해 동적 로드가 추가된거 아닐까 생각도?

[링크 : https://doc.qt.io/qt-6/ko/designer-using-a-ui-file-python.html]

 

프로젝트 파일에 widgets가 들어가면 자동으로 변경되는것 처럼 이야기 하는데

6.x 면 기본으로 들어가게 되어있지만 그렇다고 자동으로 ui 파일 기반으로 변경하진 않는다.

QT       += core gui multimedia uitools

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

[링크 : https://www.qtcentre.org/threads/36215-qmake-not-invoking-uic]

[링크 : https://doc.qt.io/archives/qt-5.15/qtwidgets-index.html]

[링크 : https://stackoverflow.com/questions/38549747/qmake-doesnt-invoke-uic]

 

QMAKE_UIC_FLAGS += -a

[링크 : https://doc.qt.io/archives/qt-5.15/qmake-variable-reference.html#qmake-uic-flags]

[링크 : https://forum.qt.io/topic/129602/how-to-pass-option-to-uic-in-qmake-project-file/2]

 

 

 

In specific cases, such as the example below where the include directive uses a relative path, qt_add_ui can be used to generate the ui_calculatorform.h file instead of relying on AUTOUIC.
When to prefer qt_add_ui over AUTOUIC

[링크 : https://doc.qt.io/qt-6/designer-using-a-ui-file.html]

[링크 : https://cmake.org/cmake/help/latest/manual/cmake-qt.7.html#autouic]

[링크 : https://doc.qt.io/qt-6/qt-add-ui.html]

 

include 지시어가 상대 경로를 사용하는 아래 예제와 같은 특정 경우에는 AUTOUIC에 의존하는 대신 qt_add_ui를 사용하여 ui_calculatorform.h 파일을 생성할 수 있습니다.
AUTOUIC보다 qt_add_ui를 선호하는 경우

[링크 : https://doc.qt.io/qt-6/ko/designer-using-a-ui-file.html]

[링크 : https://doc.qt.io/qt-6/uic.html]

 

 

'Programming > qt' 카테고리의 다른 글

qt layout  (0) 2026.04.22
qt 다국어지원 관련  (0) 2026.04.22
qt widget fullscreen  (0) 2026.03.31
qt media 재생하기  (0) 2026.03.31
qt concurrent / qt thread  (0) 2026.03.30
Posted by 구차니
embeded/jetson2026. 3. 31. 23:31

jetson이 아닌 PC 쪽에서 노트북으로 원격 접속하고 하는데

이걸 당연히(?) jetson 꽂고 하는 줄 알고 했는데 PC에 꽂아야 하는 거였군 -_-

 

아무튼 PC에서 노트북으로 원격접속했고

새 노트북을 열어서 했는데

import ipywidgets.widgets as widgets
controller = widgets.Controller(index=1)
display(controller)

jetson에 usb를 연결해놨으면 아래와 같이 "Connect gamepad and press any button." 이라고 나오고 ui가 나오지 않는다.

        

그래서 혹시나 몰라 PC에 연결하고, 인덱스 바꾸고 해보니 바로 나온다.

[링크 : https://www.waveshare.com/wiki/JetRacer_AI_Kit?srsltid=AfmBOorvXoDjlzr5jjLjmmnLwCiNINsrvLWTPl9Jh_OOBIDI2szAebf6]

[링크 : https://mosoon0329.tistory.com/48]

[링크 : https://stackoverflow.com/questions/79348304/ipywidgets-controller-not-working-properly-fields-empty]

'embeded > jetson' 카테고리의 다른 글

imx219-160  (0) 2026.04.03
jetracer 조립 거의 완료  (0) 2026.04.01
jetracer 서보는 되는데 모터가 안될때  (0) 2026.03.30
jetson nano + m.2 wifi  (0) 2026.03.20
jetracer jetcard  (0) 2026.03.20
Posted by 구차니
프로그램 사용/rtl-sdr2026. 3. 31. 19:00

esp32 등을 이용한 RTL-SDR 의 간이형이라고 해야하나?

[링크 : https://atsmini.github.io/]

 

v4 는 이어폰도 있는거 봐서는 단순하게 DAC을 통해 ROUT / LOUT으로 바로 출력하는 듯.

굳이 복잡하게 i2s 할 필요가 없는 제품일듯.

[링크 : https://www.amazon.com/YJIPOWA-Receiver-Amnvolt-Headphone-Amplifier/dp/B0FXRQSN4J]

 

si4732 라는 칩을 이용해서 원하는 주파수를 받을수 있는 듯.

일단 digital audio out을 지원한다는데

Features
- Worldwide FM band support (64–108 MHz)
- Worldwide AM band support (520–1710 kHz)
- SW band support (2.3–26.1 MHz)
- LW band support (153–279 kHz)

[링크 : https://www.skyworksinc.com/-/media/Skyworks/SL/documents/public/data-shorts/Si4732-A10-short.pdf]

  [링크 : https://www.digikey.kr/ko/products/detail/skyworks-solutions-inc/SI4732-A10-GS/4576679]

 

귀찮으면(!) Analog audio output 으로 해서 그냥 스피커 달아도 되는 듯한데

 

디지털은 I2S로 쓸 수 있다. (이거면 그냥 가장 편할 듯?)

[링크 : https://aitendo3.sakura.ne.jp/aitendo_data/product_img/ic/radio/SI4732-A10/AN332.pdf]

 

[링크 : https://m.vctec.co.kr/product/amfmselwrds-라디오-리시버-모듈-si4732-amfm-2-click/22607/]

 

 

'프로그램 사용 > rtl-sdr' 카테고리의 다른 글

rtl-sdr v3/v4  (0) 2025.10.06
wifi sdr - openwifi, antsdr 등등  (0) 2025.09.26
gr-lora with gnuradio 성공!  (0) 2025.09.25
gnuraduio wx gui deprecated  (0) 2025.09.25
qr-lora tutorial  (0) 2025.09.25
Posted by 구차니
Programming/qt2026. 3. 31. 16:13

qt designer 상에서 딸깍하면되는거 없나?

 

    MainWindow w;

    // w.setWindowState(w.windowState() ^ Qt::WindowFullScreen);
    // w.show();
    w.showFullScreen();

[링크 : https://doc.qt.io/qt-6/qwidget.html]

[링크 : https://m.blog.naver.com/lithium81/80143225704]

'Programming > qt' 카테고리의 다른 글

qt 다국어지원 관련  (0) 2026.04.22
qt ui loader  (0) 2026.04.01
qt media 재생하기  (0) 2026.03.31
qt concurrent / qt thread  (0) 2026.03.30
Qtimer를 이용한 반복/1회성 이벤트 생성  (0) 2026.03.30
Posted by 구차니
Programming/qt2026. 3. 31. 10:17

mainwindow.h

#include <QAudioOutput>
#include <QMediaPlayer>

class MainWindow : public QMainWindow
{
private:
    Ui::MainWindow *ui;
    QMediaPlayer *player;
    QAudioOutput *audioOutput;
};

 

mainwindow.cpp

QAudioOutput을 넣어주지 않으면 재생되는것 처럼 보이는데 정작 소리가 안나온다.

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    player = new QMediaPlayer;
    audioOutput = new QAudioOutput;
    player->setAudioOutput(audioOutput);

    player->setSource(QUrl::fromLocalFile("/home/minimonk/src/qt/sounds/test.mp3"));
    // player->setSource(QUrl("qrc:/test/sounds/test.mp3"));
    audioOutput->setVolume(0.5);

    player->play();
}

[링크 : https://doc.qt.io/qt-6/ko/audiooverview.html]

[링크 : https://doc.qt.io/qt-6/ko/qmediaplayer.html]

[링크 : https://doc.qt.io/qt-6/ko/qaudiooutput.html]

 

test.pro

곱게(?) ui 내에서 추가하는 법 없나?

QT       += core gui multimedia

[링크 : https://vongole-pasta.tistory.com/56]

 

아무튼 이렇게 하면 창이 열리면서 음악이 재생된다.

 

QMediaPlaylist *playlist = new QMediaPlaylist();
playlist->addMedia(QUrl("qrc:/sounds/backgroundmusic.mp3"));
playlist->setPlaybackMode(QMediaPlaylist::Loop);

QMediaPlayer *music = new QMediaPlayer();
music->setPlaylist(playlist);
music->play();

[링크 : https://stackoverflow.com/questions/37690616/play-background-music-in-a-loop-qt]

 

요건 시그널/슬롯 이용

[링크 : https://makeutil.tistory.com/117]

'Programming > qt' 카테고리의 다른 글

qt ui loader  (0) 2026.04.01
qt widget fullscreen  (0) 2026.03.31
qt concurrent / qt thread  (0) 2026.03.30
Qtimer를 이용한 반복/1회성 이벤트 생성  (0) 2026.03.30
qt5/6 시그널  (0) 2026.03.30
Posted by 구차니