Pular para o conteúdo principal

Pressionar um botão do controle (:down)

Este método está disponível somente a partir da versão 20260805.

Declaração

status, mensagem_de_erro = objeto_do_controle:down(botao)

Parâmetro

  • botão Inteiro ou texto: pode receber um inteiro de 1 a 32, um nome de botão da tabela abaixo ou "start" e "menu"; não há distinção entre maiúsculas e minúsculas
NúmeroNome do botãoAliases
1a-
2b-
3x-
4y-
5left_shoulderleft_bumperlbl1
6right_shoulderright_bumperrbr1
7left_triggerltl2
8right_triggerrtr2
9left_stickl3
10right_stickr3
11l4left_paddle
12r4right_paddle
13m1-
14m2-
15m3-
16m4-

Valores de retorno

  • status Booleano: retorna true quando a operação é bem-sucedida; retorna false se o dispositivo estiver desconectado, ocupado ou se o envio da entrada falhar
  • mensagem de erro Texto: mensagem de erro quando a operação falha

Descrição

  • Os números 1 a 32 representam botões numéricos, não códigos de botões de jogo uniformes entre dispositivos; normalmente, prefira os nomes de botão da tabela acima.
  • Os números 17 a 32 não têm nomes predefinidos e só produzem efeito quando o app de destino é compatível com os botões estendidos correspondentes.
  • "start" e "menu" são aliases da mesma entrada de menu e não correspondem a nenhum número de 1 a 32.
  • Os nomes de botão select, back, options, home, share e do touchpad ainda não são compatíveis.
  • left_trigger e right_trigger aceitam somente pressionar ou soltar, sem simulação de valor de pressão; menu não aciona a ação de tela inicial do sistema.
  • Tipos de parâmetro inválidos, nomes desconhecidos e valores fora do intervalo são lançados como erros de parâmetro Lua, em vez de retornar false, error.

Exemplo

local pad = assert(gamepad.connect())

assert(pad:down("left_shoulder"))
assert(pad:up("left_shoulder"))
assert(pad:down(13)) -- botão numérico 13
assert(pad:up(13))
assert(pad:disconnect())