Para o devido funcionamento do hardware na Feira de Jogos, é preciso configurá-lo para se integrar aos serviços, como MQTT e HTTP.
O projeto 3D da vending machine está disponível online.
A tecla SELECT
, que é usada nos emuladores MAME (e derivados) também como COIN
(de adicionar moeda), deve ser exclusiva do teclado virtual - de operação remota. O mesmo deve ser feito com HOTKEY
, para evitar saída do jogo ou outras funções especiais do RetroArch, como salvar e recuperar estado de jogo.
As teclas J
e K
são usadas para adicionar moedas (HOTKEY
/COIN
) e fechar o jogo (EXIT
quando combinada com HOTKEY
), respectivamente. O teclado físico é usado apenas em caso de emergência.
Para que o joystick funcione apenas com os comandos do jogo, deve-se:
Deixar os botãos SELECT
e HOTKEY
sem função na autoconfiguração, mais especificamente nos arquivos do diretório /opt/retropie/configs/all/retroarch/autoconfig/
:
8
(SELECT
);9
deve ser mencionado apenas para iniciar o jogo: input_start_btn
.Configurar o arquivo /opt/retropie/configs/all/retroarch.cfg
para desativar o botão SELECT
via joystick:
input_enable_hotkey_btn = "nul"
O teclado virtual é a aplicação que recebe comandos remotamente e adiciona moedas ao jogo:
/etc/modules
:uinput
evdev
pi
(usuário padrão de Raspberry Pi e semelhantes), que por padrão já pertence ao grupo games
. Criar, assim, o arquivo /etc/udev/rules.d/10-uinput.rules
com o seguinte conteúdo:KERNEL=="uinput", MODE="0660", GROUP="games"
O teclado virtual é implementado no arquivo client.py
, onde a função coinInsert()
define a inserção de moeda por controle remoto, conforme a documentação.
O teclado físico não é obrigatório. Seu uso é apenas emergencial para adicionar manualmente moedas e fechar o jogo:
/opt/retropie/configs/all/retroarch.cfg
para fixar o botão SELECT
na tecla j
e START
na tecla k
:input_player1_select = "j"
input_player1_start = "k"
/opt/retropie/configs/all/retroarch.cfg
para fixar o botão HOTKEY
na tecla j
e função de sair do jogo na tecla k
:input_enable_hotkey = "j"
input_exit_emulator = "k"