Wiimote를 Fedora 19 시스템에 연결하는 방법은 무엇입니까?

Wiimote를 Fedora 19 시스템에 연결하는 방법은 무엇입니까?

연결하는 방법위모트Fedora에서 원격 제어 목적으로 사용하시나요?

(실제로 Amazon에서 15달러에 판매하는 것과 같은 타사 Wiimote 복제품입니다.)

답변1

Fedora 19는 설치된 Bluetooth 스택이 기본적으로 Wiimote 지원과 함께 제공될 정도로 새롭습니다. 다른 Bluetooth 장치와 마찬가지로 Wiimote를 직접 연결할 수 있습니다.

기본 페어링

모든 것이 제대로 작동하면 핀이 필요하지 않습니다. 페어링 과정이 끝나면 Bluetooth 애플릿의 입력 장치로 Wiimote를 선택할 수 있습니다.

하드웨어에 따라 처음에는 몇 번 시도해야 할 수 있습니다(배터리 케이스 내부의 재설정 버튼 사용). 이를 수행하는 한 가지 방법은 컴퓨터가 Bluetooth 하드웨어를 "인식"한 후 연결을 클릭하고 즉시 "재설정"을 누르는 것입니다.

Bluetooth 기호 및/또는 상황에 맞는 메뉴는 성공적인 페어링을 나타냅니다.

몇 개의 버튼만 작동합니다(위/아래/왼쪽/오른쪽 키, 마우스 오른쪽 버튼 클릭 및 스페이스바 – 그게 전부입니다).

따라서 일종의 매핑을 구성해야 합니다.

필수 종속성

# yum install \
  git gcc strace strace autoconf automake libtool systemd-devel ncurses-devel
  xorg-x11-util-macros xorg-x11-proto-devel xorg-x11-server-devel

(strace는 꼭 필요한 것은 아니지만 xwiimote를 실행할 때 권한 거부 문제를 확인하는 데 유용합니다)

xwiimote

xwiimote 저장소에는 bluetooth-daemon-plugin 및 일부 관련 도구와 상호 작용하는 기본 사용자 공간 라이브러리가 포함되어 있습니다.

불행하게도 이 소프트웨어는 아직 Fedora용으로 패키지되어 있지 않습니다.

따라서 우리는 이를 컴파일해야 합니다:

$ git clone https://github.com/dvdhrm/xwiimote.git
$ cd xwiimote
$ ./autogen.sh
$ ./configure --prefix=$HOME/local/xwiimote
$ make
$ make install

일부 하드웨어 테스트

$ ./xwiishow list
Listing connected Wii Remote devices:
  Found device #1: /sys/devices/pci0000:00/0000:00:1a.1/usb4/4-2/4-2:1.0/bluetooth/hci0/hci0:11/0001:0002:0023.0032
End of device list

=> 페어링이 성공했습니다. 추가 테스트를 위해 권한을 수정해야 합니다.

# chown root:juser /sys/devices/pci0000:00/0000:00:1a.1/usb4/4-2/4-2:1.0/bluetooth/hci0/hci0:11/0001:0002:0023.0032/leds/*/brightness
# chmod g+w /sys/devices/pci0000:00/0000:00:1a.1/usb4/4-2/4-2:1.0/bluetooth/hci0/hci0:11/0001:0002:0023.0032/leds/*/brightness

$ xinput --list
[..]
    ↳ Nintendo Wii Remote Accelerometer         id=9    [slave  keyboard (3)]
    ↳ Nintendo Wii Remote IR                    id=10   [slave  keyboard (3)]
    ↳ Nintendo Wii Remote                       id=11   [slave  keyboard (3)]
    ↳ Nintendo Wii Remote Extension             id=12   [slave  keyboard (3)]
    ↳ Nintendo Wii Remote Motion+               id=13   [slave  keyboard (3)]
[..]

=> 몇 가지 추가 권한 조정:

# chown root:juser /dev/input/event1[0123] /dev/input/event9
# chmod g+w /dev/input/event1[0123] /dev/input/event9

(xiimote 저장소에는 연결 권한 설정을 위한 샘플 udev 규칙도 포함되어 있지만 xwiishow와 같은 직접 액세스에만 필요합니다.)

버튼, 센서, 교정 등을 테스트하기 위해 ncurses 인터페이스를 실행합니다.

$ ./xwiishow 1

(여기서 1은 첫 번째 장치입니다)

실제 Xorg 설정

xinput2 모듈은 아직 Fedora/Fusion 패키지 저장소에서 사용할 수 없습니다.

$ cd ..
$ git clone https://github.com/dvdhrm/xf86-input-xwiimote.git
$ cd xf86-input-xwiimote
$ ./autogen.sh
$ PKG_CONFIG_PATH=$HOME/local/xwiimote/lib/pkgconfig  ./configure --prefix=$HOME/local/xwiimote LDFLAGS="-L$HOME/local/xwiimote/lib -Wl,-R$HOME/local/xwiimote/lib"
$ make
$ make install

런타임 경로 설정을 확인하십시오.

$ ldd /home/gms/local/xwiimote/lib/xorg/modules/input/xwiimote_drv.so

('찾을 수 없음' 메시지가 표시되지 않아야 함)

시스템 전체 Xorg 구성을 변경합니다.

# cd /etc/X11/xorg.conf.d
# ln -s /home/juser/src/xf86-input-xwiimote/60-xorg-xwiimote.conf
# cd /usr/lib64/xorg/modules/input/
# ln -s /home/juser/local/xwiimote/lib/xorg/modules/input/xwiimote_drv.so

로그아웃하고 X를 다시 시작하세요.

X 명령줄 도구를 통해 확인됨 xev: 이제 모든 버튼이 실제 키 코드를 전송해야 합니다.

예를 들어 내 하드웨어의 경우 기본값은 다음과 같습니다. Enter, 왼쪽/오른쪽/위/아래, 스페이스, 1, 2, esc, 볼륨 +/-

(이것은 꽤 합리적인 기본값입니다)

여러 가지 잡다한

저렴한 Wiimote 클론에는 xiishow - YMMV와 작동하지 않는 "nunchaku" 확장 기능도 함께 제공됩니다.

관련 정보