打造自己的懷舊遊戲機 - RetroPie(樹莓派)(四: 自制退出遊戲鍵)

第一篇有提及過的退出遊戲鍵
其實設置手把時,如果不設定Hotkey,
大多數模擬器都可以同時按"Select+Start"來退出遊戲,
但有部份模擬是不支援這個組合鍵,例如psp,dosbox等等,
所以才想到DIY一個像迷你任天堂/迷你紅白機的退出鍵。

第一步: 先插在正確的GPIO PIN上,就是圖中黃圈的

我們用到的就是17 & 18這兩PIN

硬件的部份準備好之後,我們再次以PUTTY連接樹莓派
1. 先建立一個Script目錄,輸入"sudo mkdir Scripts",然後進入這個Script資料夾,輸入"cd Scripts"
2. 然後建立一個指令檔,之後會再設定成,當我們按下按鍵時就會執行這個指令,輸入"sudo touch ExitEmu.py"
3. 然後就正式編輯這個指令檔,輸入"sudo nano ExitEmu.py"
4. 複製以下文字:
from time import sleep
import os
import RPi.GPIO as GPIO

GPIO.setmode(GPIO.BCM)
GPIO.setup(24, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)

def exitEmulator(channel):
print('exitEmulator')
os.system('killall retroarch')
pids = [pid for pid in os.listdir('/proc') if pid.isdigit()]

for pid in pids:
try:
commandpath = open(os.path.join('/proc', pid, 'cmdline'), 'rb').read()
if commandpath[0:24] == '/opt/retropie/emulators/':
os.system('kill -QUIT %s' % pid)
print('kill -QUIT %s' % pid)
except IOError:
continue
GPIO.add_event_detect(24, GPIO.RISING, callback=exitEmulator, bouncetime=500)

while True:
sleep(10)

5. 在PUTTY內按滑鼠右鍵貼上,要注意一下貼上後的跳行有沒有問題。

6. 按"Ctrl+X",會問你要不要儲存,按"Y"確認儲存後就會離開編輯。
7. 現在可以先測試一下按鍵有沒有反應,輸入"sudo python ExitEmu.py",
再按你的退出鍵,如果沒問題會出現exitEmulator 及 retroarch的字眼

8. 按"Ctrl+c"停止,然後再輸入"sudo nano /etc/rc.local",
在exit 0之前加入"sudo python /home/pi/Scripts/ExitEmu.py &"
同樣按"Ctrl+X"再按"Y"儲存。

9. 輸入"sudo reboot"重新啟動,大功告成!

下一篇: 用樹莓派看直播球賽!!!!!!!!!

5 Thoughts to “打造自己的懷舊遊戲機 - RetroPie(樹莓派)(四: 自制退出遊戲鍵)

  1. 請問圖中的退出鍵去邊度可以買到?
    另外想問吓可唔可以整到用鍵完全關閉個RASPBERRY PI? 謝謝

Kuen 發表回覆 取消回覆

你的電郵地址並不會被公開。 必要欄位標記為 *