btn - nesbox/TIC-80 GitHub Wiki
btn(id) -> is_pressedbtn() -> GAMEPADS data(see RAM)
Parameters
- id : id (0..31) of the key we want to interrogate (see the key map for reference or type
help buttonsin console).
Returns
- is_pressed : button is pressed (true/false)
- GAMEPADS data : 32-bit value that represents current state of all GAMEPAD button inputs
Description
This function allows you to read the status of TIC's controller buttons. It returns true if the button with the supplied id is currently in the pressed state and remains true for as long as the button is held down. To see if a button was just pressed, use btnp instead.
Input Tag
Set the metadata input tag to gamepad to display only the on-screen gamepad on Android devices and hide the keyboard.
Example
The following example displays the state of all buttons during each frame:

--Key Test Project
--By Rain_Effect,pixelbath
local ox=70
local oy=15
local btnLabel={"Up","Down","Left","Right","Btn A","Btn B","Btn X","Btn Y"}
function printBtnLabels(x, y, headingText)
print(headingText,x,y,8)
for i=1,8 do
print(btnLabel[i],x,y+i*10,12)
end
end
function printInputState(x, y, headingText, startIdx)
print(headingText,x,y,8)
for i=1,8 do
if btn(i-1+startIdx) then
print("On",x,y+i*10,6)
else
print("Off",x-3,y+i*10,1)
end
end
end
function TIC()
cls(0)
print("Key Test Project",ox,oy,12)
printBtnLabels(ox-30, oy+15, "Btn")
printInputState(ox+20, oy+15, "1P", 0)
printInputState(ox+50, oy+15, "2P", 8)
printInputState(ox+80, oy+15, "3P", 16)
printInputState(ox+110, oy+15, "4P", 24)
end