-
구형 노트북을 레트로 게임 머신으로 - 2. PS 듀얼쇼크3 연결하기IT 생활/구형 노트북 생명 연장 2020. 9. 15. 23:10
이 글은 구형 리눅스 노트북에 MAME 설치하기의 다음 이야기로 Playstation의 Dualshork3 (듀얼쇼크3)을 MAME에 조이스틱으로 연결하는 방법에 대해서 설명합니다.
안녕하세요 류똥구입니다.
MAME를 설치하고 난 뒤 하루에 한판씩은 게임을 하고 있었는데요.
키보드로 게임을 하니까 아무래도 오락실에서 하던 느낌이 안 살더라구요.
그래서 집에서 방치되어 있던 듀얼쇼크3로 게임을 하려고 알아봤습니다.
다들 집에 남는 듀얼쇼크 정도는 있지 않나요?
그럼 이번 포스팅에서는 리눅스 (Ubuntu 계열)에 듀얼쇼크3를 연결하고 MAME에 조이스틱을 설정하는 방법에 대해서 설명하도록 하겠습니다.
확인 환경
- Intel i5-3340M (4 vcore)
- 8GB RAM
- 128GB SSD
- Bluetooth 4.0 (듀얼쇼크3가 bluetooth2.0을 사용하며로 2.0 이상 버전이면 가능)
- LXLE 리눅스 (Ubuntu의 경량버전 리눅스 배포판) (Ubuntu 16.04.6 LTS와 동일 환경)
- Playstation Dualshork CECHZC2K
- Data 전송용 USB mini type B케이블 (충전 시 필요)
듀얼쇼크 준비
아마 저와 같다면 여러분들도 듀얼쇼크가 집안 어딘가에 쳐박혀 있다가 나왔을 가능성이 큽니다.
듀얼쇼크가 배터리 용량이 얼마 없어서 방전이 다 되었겠지만 혹시나 하는 마음에 PS버튼을 꾸욱 눌러서 켜지는지 확인해 봅니다.
듀얼쇼크의 앞면이라고 해야나요? 위 그림에 빨간색 네모 박스 안에 있는 4개의 빨간색 LED가 점등되면 바로 이어서 진행하시면 됩니다. 그렇지 않다면 방전이 된 것이므로 충전을 한 뒤에 진행하면 됩니다.
듀얼쇼크를 충전 또는 노트북에 연결을 위해 가져온 USB 케이블이 Mini Type B인지 확인합니다.
Mini Type B 케이블은 한쪽은 일반적으로 많이 사용되는 Type A이고 다른 한쪽은 사다리꼴 모양으로 되어 있습니다.
듀얼쇼크는 기본적으로 Data 전송용 USB 케이블을 사용해야 한다고 합니다.
데이터 케이블은 우리가 흔히 본 usb 디스크 처럼 4개의 접촉 단자가 있습니다.
Mini Type B 케이블의 Type A 부분을 봐서 데이터 전송이 가능한 케이블인지 확인합니다.
듀얼쇼크 유선 연결
듀얼쇼크와 컴퓨터를 USB Mini Type B 케이블로 연결하여 줍니다.
$ lsusb Bus 002 Device 017: ID 054c:0268 Sony Corp. Batoh Device / PlayStation 3 Controller Bus 002 Device 007: ID 043e:70d6 LG Electronics USA, Inc. Bus 002 Device 006: ID 0930:6545 Toshiba Corp. Kingston DataTraveler 102/2.0 / HEMA Flash Drive 2 GB / PNY Attache 4GB Stick Bus 002 Device 005: ID 04ca:0061 Lite-On Technology Corp. Bus 002 Device 004: ID 05e3:0610 Genesys Logic, Inc. 4-port hub Bus 002 Device 003: ID 0480:a20c Toshiba America Inc Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 004: ID 0c45:64e0 Microdia Bus 001 Device 005: ID 0cf3:3004 Atheros Communications, Inc. AR3012 Bluetooth 4.0 Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
lsusb 명령으로 usb에 연결된 디바이스들을 확인해서 PlayStation 3 Controller가 있는지 확인합니다.
듀얼쇼크 무선 연결
컴퓨터와 USB로 연결이 되어 있다면 케이블을 분리해 줍니다.
컴퓨터에 듀얼쇼크를 연결하기 위해서는 bluetooth 관리 툴인 bluez 설치가 필요합니다.
다음 명령으로 설치가 되어 있는지 확인 할 수 있습니다.
명령 결과 bluez가 설치 되어 있으면 bluez 설치는 넘어가시기 바랍니다.
$ apt list | grep bluez WARNING: apt does not have a stable CLI interface. Use with caution in scripts. bluez/xenial-updates,xenial-security,now 5.37-0ubuntu5.3 amd64 [installed] bluez-btsco/xenial 1:0.50-0ubuntu6 amd64 bluez-cups/xenial-updates,xenial-security,now 5.37-0ubuntu5.3 amd64 [installed] bluez-dbg/xenial-updates,xenial-security 5.37-0ubuntu5.3 amd64 bluez-hcidump/xenial-updates,xenial-security 5.37-0ubuntu5.3 amd64 bluez-obexd/xenial-updates,xenial-security,now 5.37-0ubuntu5.3 amd64 [installed,automatic] bluez-tests/xenial-updates,xenial-security 5.37-0ubuntu5.3 amd64 bluez-tools/xenial 0.2.0~20140808-5 amd64 libkf5bluezqt-data/xenial,xenial 5.36.0-0ubuntu1~ubuntu16.04~ppa1 all libkf5bluezqt-dev/xenial 5.36.0-0ubuntu1~ubuntu16.04~ppa1 amd64 libkf5bluezqt6/xenial 5.36.0-0ubuntu1~ubuntu16.04~ppa1 amd64 libkf5bluezqt6-dbg/xenial 5.18.0-0ubuntu1 amd64 python-bluez/xenial 0.22-1 amd64
bluez가 설치 되지 않은 분들은 다음 명령들을 순차적으로 실행하여 설치하도록 합니다.
$ sudo apt-get install bluez $ systemctl enable bluetooth $ systemctl start bluetooth $ systemctl status bluetooth ● bluetooth.service - Bluetooth service Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2020-09-15 21:46:44 KST; 1h 48min ago Docs: man:bluetoothd(8) Main PID: 2944 (bluetoothd) Status: "Running" CGroup: /system.slice/bluetooth.service └─2944 /usr/lib/bluetooth/bluetoothd Sep 15 21:46:44 ryuNote bluetoothd[2944]: Not enough free handles to register service Sep 15 21:46:44 ryuNote bluetoothd[2944]: Not enough free handles to register service Sep 15 21:46:44 ryuNote bluetoothd[2944]: Not enough free handles to register service Sep 15 21:46:44 ryuNote bluetoothd[2944]: Current Time Service could not be registered Sep 15 21:46:44 ryuNote bluetoothd[2944]: gatt-time-server: Input/output error (5) Sep 15 21:46:44 ryuNote bluetoothd[2944]: Not enough free handles to register service Sep 15 21:46:44 ryuNote bluetoothd[2944]: Not enough free handles to register service Sep 15 21:46:44 ryuNote bluetoothd[2944]: Sap driver initialization failed. Sep 15 21:46:44 ryuNote bluetoothd[2944]: sap-server: Operation not permitted (1) Sep 15 23:28:04 ryuNote bluetoothd[2944]: sixaxis: compatible device connected: PLAYSTATION(R)3 Controller (054C:0268)
bluetooth가 위와 같이 active (running) 상태이면 정상적으로 설치되어 동작 중인 것 입니다.
설치한 bluetooth 툴을 이용하여 다음과 같이 수행합니다.
$ bluetoothctl [NEW] Controller 24:F5:AA:B8:D3:D2 ryuNote [default] [NEW] Device 00:06:F7:85:C1:71 PLAYSTATION(R)3 Controller <- 블루투스로 듀얼쇼크 인식 [bluetooth]# agent on <- 블루투스 연결 agent 시작 Agent registered [bluetooth]# default-agent <- 블투투스 agent로 default agent 사용 Default agent request successful [bluetooth]# power on <- 컴퓨터의 블루투스 전원 켬 Changing power on succeeded [bluetooth]# discoverable on <- 페어링을 위해 컴퓨터 블루투스 디바이스 노출 Changing discoverable on succeeded [CHG] Controller 24:F5:AA:B8:D3:D2 Discoverable: yes [bluetooth]# scan on <- 주변에 블루투스 장비 스캔 Discovery started [CHG] Controller 24:F5:AA:B8:D3:D2 Discovering: yes
bluetooth 툴이 켜진 상태에서 듀얼쇼크의 PS 버튼을 꾹 눌러서 페어링 모드를 시작합니다.
[bluetooth]# scan on Discovery started [CHG] Controller 24:F5:AA:B8:D3:D2 Discovering: yes [CHG] Device 00:06:F7:85:C1:71 Connected: yes <- 듀얼쇼크 인식 Authorize service [agent] Authorize service 00001124-0000-1000-8000-00805f9b34fb (yes/no): yes <- 페어링 승인 [PLAYSTATION(R)3 Controller]# scan off <- 페어링을 위한 scan 종료 [CHG] Device 40:8C:E9:43:95:F2 RSSI is nil <- 페어링 안 맺은 장비들은 인식 끊김 [CHG] Device 4C:4C:FC:04:7E:01 RSSI is nil Discovery stopped [CHG] Controller 24:F5:AA:B8:D3:D2 Discovering: no [PLAYSTATION(R)3 Controller]# quit <- bluetooth 툴 종료
여기까지 완료하였으면 컴퓨터와 듀얼쇼크가 블루투스로 정상적으로 페어링 되었습니다.
듀얼쇼크가 1p로 연결된 것을 확인 할 수 있습니다.
듀얼쇼크 연결 확인
jstest-gtk를 사용하여 유선 또는 무선으로 연결된 듀얼쇼크가 정상적으로 동작하는지 확인하기 위해서 줍니다.
우선, 조이스틱 툴인 jstest-gtk를 설치해 줍니다.
$ sudo apt-get install jstest-gtk
jstest-gtk 명령으로 조이스틱 툴을 실행해 줍니다.
$ jstest-gtk
jstest-gtk가 실행되면 자동으로 컴퓨터에 연결되어 있는 조이스틱들을 보여줍니다.
앞서서 lsusb로 확인한 것과 같이 PlayStation 3 Controller가 있는 것을 확인할 수 있습니다.
PlayStation 3 Controller를 더블클릭해 줍니다.
듀얼쇼크의 키 입력 확인 및 키 매핑을 할 수 있는데요.
듀얼쇼크의 키들의 입력이 제대로 인식 되는지 확인 해 줍니다.
연결이 되어 있다면 입력이 정상적으로 인식하게 됩니다.
MAME 키 매핑
mame를 실행시킨 뒤 input 설정으로 들어갑니다
player 1 controls를 선택해서 1p 키 입력 설정 화면으로 이동합니다.
게임 상에서 사용할 키에 맞춰서 input이 기본적으로 지정이 되어 있는데요.
변경하고 싶은 키에 가서 엔터를 누르고 조이스틱의 키를 입력해줍니다.
한가지 키에 입력을 여러가지 넣고 싶으면 한번 입력값을 설정한 뒤에 다시 해당 키에 대해서 다시 엔터를 누른 다음에 조이스틱의 키를 입력해주면 됩니다.
이상으로 듀얼쇼크를 리눅스 컴퓨터에 연결해서 MAME에서 사용하는 방법에 대해서 알아보았습니다.'IT 생활 > 구형 노트북 생명 연장' 카테고리의 다른 글
우분투에 KVM 설치하기 (0) 2020.09.27 Windows 10 ISO 파일 다운로드하는 방법 (0) 2020.09.27 구형 노트북을 레트로 게임 머신으로 - 1.MAME 설치하기 (0) 2020.09.13 구형 노트북을 코딩 머신으로 - Debian계열 Linux에 Visual Studio Code 설치하기 (0) 2020.09.02 구형 노트북을 원격접속 머신으로 - Debian계열 리눅스에 원격데스크탑 클라이언트 Remmina 설치하기 (0) 2020.09.01