La siguiente tabla te botones son usados con las funciones de Lua: joypad lib, stylus lib, o input lib.
Como ejemplo, este script dibuja texto en la pantalla cuando se presiona B:
local table={}
while true do table=joypad.get(1) if table.B then gui.text(0, 0, "B is pressed") end emu.frameadvance() end
Tabla de botones
La tabla de botones es sensible a las mayúsculas y minúsculas. Casi todos los botones son booleanos, aunque los que están relacionados con la posición o análogo son enteros. El valor
nil
o false
significa "no presionado", cualquier otra cosa significa "presionado".
Joypad lib (Librería Joypad)
Estos botones son usados con las funciones que comienzan con
joypad
. Todos los botones son booleanos.
Debido a las posibles diferencias de implementación con
joypad.get
, es recomendado usar el estilo booleano 'if' (if table.right then
) en lugar de la comparación de equidad (if table.right==true then
)
La aplicación de
joypad.set
sólo funciona en el siguiente cuadro. Debe ser aplicado en cada cuadro para mantener presionado los botones.
FCEUX:
A, B, select, start, up, down, left, right
Snes9x:
R, L, X, A, right, left, down, up, start, select, Y, B
Gens:
up, down, left, right, A, B, C, start, X, Y, Z, mode
VBA:
A, B, select, start, right, left, up, down, R, L
PCSX:
select, l3, r3, start, up, right, down, left, l2, r2, l1, r1, triangle, circle, x, square
PCEjin/VBjin:
I, II, Select, Run, Up, Right, Down, Left
DeSmuME (joypad lib):
debug, R, L, X, Y, A, B, start, select, up, down, left, right, lid
Para Final Burn Alpha, los botones son los nombres que el emulador usa y son específicos de cada juego. Estos se encuentran enumerados bajo la configuración de entrada.
DeSmuME stylus lib (Librería de stylus DeSmuME)
Estos botones son usados con las funciones que empiezan con
stylus
. El botón 'x' es un entero entre 0 y 255, 'y' es un entero entre 0 y 192, y 'touch' es un booleano.
La aplicación de
stylus.set
sólo funciona en el siguiente cuadro. Debe ser aplicado en cada cuadro para mantener presionado el stylus.
DeSmuME (stylus lib):
x, y, touch
Input lib (Librería de entrada)
Estos botones son usados con las funciones que empiezan con
input
.
La función de Lua
input.get
regresa una tabla de los botones que son presionados así como el estado del ratón de la PC. Las etiquetas refieren al diseño del teclado estadounidense.
Todas las tablas de botones son booleanas.
"..." denota una secuencia obvia que se ha omitido.
Keyboard (Teclado):
backspace, tab, enter, shift, control, alt, pause, capslock, escape, space, pageup, pagedown, end, home, left, up, right, down, insert, delete, 0, 1, ..., 9, A, B, ..., Z, numpad0, numpad1, ..., numpad9, numpad*, numpad+, numpad-, numpad., numpad/, F1, F2, ..., F24, numlock, scrolllock, semicolon, plus, comma, minus, period, slash, tilde, leftbracket, backslash, rightbracket, quote
La posición del ratón es regresada en términos de coordenadas de pixel de la pantalla del juego. La tecla 'xmouse' es un entero entre 0 y 255, 'ymouse' es un entero entre 0 y 223 y 'leftclick', 'rightclick' & 'middleclick' son todos booleanos.
Mouse (raton):
xmouse, ymouse, leftclick, rightclick, middleclick