2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Raspberry Pi Zero WHに接続した物理ボタン(LCD HAT)にキーバインドする方法

Posted at

対象

以下のジョイスティック+ボタンのついたデバイスへのキーバインドの方法を記載しています。

ラズパイ用 1.3インチ IPS液晶 - 240×240解像度/SPI接続/LCD HAT(ドライバ:ST7789)
https://www.amazon.co.jp/dp/B07KVMK2DZ

手順

必要なシェルスクリプトを取得

以下のシェルスクリプトをコピーして、ラズパイにretrogame.shとして保存してください。

取得したシェルスクリプトの実行

sudo bash retrogame.sh

スクリプト実行後、どの製品を使用しているか問われますので、6番の6. Six buttons + joystickを選択してください。
(ボタンは3つしかありませんが、この製品を選択できないので仕方なく6. Six buttons + joystickを選択します)

その後、再起動を求められますので再起動します。

必要な設定

/boot/retrogame.cfgを設定します。
ここに記載されている内容は左から、キーボードの該当するキー、ラズパイのピン番号、コメントです。

例えば以下のように設定すると、ジョイスティックのキーがそれぞれ上下左右のキーボードにバインドされ、KEY3(ピン番号16番)がENTERにバインドされます。

LEFT       5  # Joypad left
RIGHT     26  # Joypad right
UP         6  # Joypad up
DOWN      19  # Joypad down
#LEFTCTRL  4  # 'A' button
#LEFTALT  25  # 'B' button
#Z        11  # 'X' button
#X        21  # 'Y' button
#GND       6  # Spare ground point for 'Y' button
#SPACE    16  # 'Select' button
ENTER     16  # 'Start' button
#ESC   16 26  # Hold Start+Select to exit ROM

PIN番号はマニュアルに記載していますが、必要な部分だけを以下に抜粋しました。
https://www.waveshare.com/w/upload/6/6b/1.3inch_lcd_hat_user_manual_en.pdf

PIN Raspberry Pi Description
KEY1 P21 Button 1GPIO
KEY2 P20 Button 2GPIO
KEY3 P16 Button 3GPIO
Joystick Up P6 Joystick up
Joystick Down P19 Joystick down
Joystick Left P5 Joystick left
Joystick Right P26 Joystick right
Joystick Press P13 Joystick press

関連

Raspberry Pi Zero WHにディスプレイを接続し、デスクトップ画面を表示する方法
https://qiita.com/hanzawak/items/0788aefc281a0363c3a0

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?