
고급 Wiimote 리매핑 소프트웨어
[!IMPORTANT] 이 소프트웨어는 여기에서 찾을 수 있는 업데이트/수정된 Wiimote 커널 드라이버가 필요합니다.
설치 후,
sudo sed -i '/ATTR{inhibited}="1"/s/^/#/' /etc/udev/rules.d/99-wiimote.rules를 실행하여 IR 및 가속도계 이벤트의 비활성화(inhibit)를 해제하세요.
esperto 입력 시스템을 기반으로 하는 esperto-wiimote는 고급 Wiimote 매퍼입니다. 정밀한 가속도계 보정, 우수한 IR 추적, 콤보 지원을 포함한 강력한 리매핑 옵션을 제공합니다. 지연 시간이 거의 없으며, 대부분 커널의 evdev/uinput API 자체에 의해 결정됩니다.
이 프로그램은 참고용으로 번들된 Hector Martin의 2점 IR 추적 알고리즘의 port++ 버전을 포함합니다.
crates.io에서 사용할 수 있습니다.
구성 파일은 --config <FILE>로 지정합니다. 지정하지 않으면 프로그램은 src/default.yaml에 있는 기본 제공 미디어 리모컨 기본값을 로드합니다.
다음은 설명이 포함된 구성 예제입니다:
# Whether to grab the devices, so other software won't use them
grab: false
# Command to run when the first Wiimote connects, as list of arguments
# Useful for automation like powering on the sensor bar
on_connect: [ "echo", "hello", "world" ]
# Command to run when thelast Wiimote disconnected, as list of arguments
# Useful for automation like powering off the sensor bar
on_disconnect: [ "echo", "goodbye", "world" ]
# Options for the output device slot. For each Wiimote there are four available slots, from `slot1` to `slot4`.
# Slots are useful to isolate mouse/keyboard/joysticks inputs
slots:
slot1:
# Name of the wirtual device
name: "Esperto Wiimote mouse"
slot2:
name: "Esperto Wiimote keyboard"
# Whether the device should autorepeat held keys, this might get overruled by the compositor
repeating: true
# Accelerometer calibration data generated with the `esperto-wiimote calibration` command
accelerometer_calibration: [
1.0014056, -0.011690015, 0.009826779,
-0.02909683, 1.013545, 0.005751312,
-0.010004735, -0.012316463, 0.99458194,
28.481918, 33.827446, 30.468597 ]
# Margins of the mapped area. True margins are 0-4095 (regardless of screen resolution), but you will
# want to exceed those to account for the aspect ratio, and the IR sensor not reaching all the way to the margins.
# The same scaling will be applied to all axes
screen_limits:
north: -2000
south: 6569
west: -300
east: 4395
# Center an axis when it gets enabled
centering:
# Axes can be specified by name...
!Axis ABS_X: 2048
# Or by their real integer id
!CustomAxis 1: 2048
# Park an axis when it gets disabled
parking:
!CustomAxis 0: 4095
!Axis ABS_Y: 4095
# The physical dimensions of your sensorbar
sensor_bar:
width: 19.5
cluster_width: 4.5
cluster_height: 1.0
pixel_width: 256.0
# The smoothing parameters can be tuned
smoothing:
radius: 30.0
speed: 0.15
deadzone: 8.0
# esperto combos configuration, check https://github.com/KayJay7/esperto for more information
esperto:
modifiers:
- name: pointer
keys: [ B ]
actions:
- key: A
action:
# Actions must specify their output slot
slot: Slot2
# Keys can be specified by name...
code: !Key KEY_SPACE
modified:
- modifier: pointer
action:
slot: Slot1
# Or by their integer id
code: !CustomKey 0x110
사용 가능한 Wiimote 키의 전체 목록은 다음과 같습니다:
ABUpDownLeftRightPlusMinusHomeBtn1Btn2그리고 축:
IRAbsXIRAbsY사용 가능한 출력 코드의 전체 목록은 여기에서 확인할 수 있습니다. 스캔코드 이름이 인식되지 않는 경우에도 숫자 ID는 여전히 작동합니다.
가속도계 보정 마법사는 esperto-wiimote calibration을 실행하여 시작할 수 있습니다.
프롬프트에 따라 Wiimote를 6개 면으로 놓고 도구가 충분한 측정값을 수집할 때까지 기다려야 합니다. 출력은 구성 파일(제공된 경우)에 추가되며, 그렇지 않으면 화면에 출력됩니다. 필요한 경우 일부 고급 재정의 값을 인수로 제공할 수 있습니다.
이 프로그램을 사용하기 전에 Wiimote를 보정할 것을 강력히 권장합니다. 그렇지 않으면 가속도계가 상당히 신뢰할 수 없을 수 있습니다. 리모컨이 정상 작동 온도에 도달한 후에 보정하는 것이 좋습니다. 센서 판독값은 시간이 지나고 온도가 변함에 따라 약간 드리프트할 수 있지만, 소프트웨어가 드리프트를 보정하므로 재보정은 필요하지 않을 것입니다.