rb.input match those names. Names a script passes to rb ignore case:
rb.bind("f1", fn) binds F1. The Also accepted names work for rb.hid
output; a bind on an alias such as "Return" never fires.
Letters and digits
A to Z, 0 to 9.
Function keys
F1 to F24.
Mouse buttons
WheelUp and WheelDown name one step of the wheel as a bind trigger
only; send the wheel with rb.hid.scroll.
Controllers
Needs:min_sdk=3.11.0.
Rebind captures game controllers in hardware mode when the Link’s
USB profile includes
a joypad or the Xbox controller, and passes them through to that output, so a
controller keeps working with no script running. Otherwise the controller stays
with the computer and scripts do not see it.
Scripts see its buttons as keys: down and up events, rb.bind,
rb.bind.remap, rb.input.is_down and rb.hid.down all take these names.
Buttons are named by position with Xbox letters, so PadA is the bottom face
button on any controller, whatever is printed on it. Every script’s down and
up handlers receive them, so a handler that blocks every key also blocks the
controller’s buttons.
Joy1 to Joy32 are accepted wherever the Pad names are. Sent with rb.hid,
JoyN presses joypad button N, so Joy1 and PadA are the same output. An rb.ui.keybind field
captures a controller button in hardware mode.
Rebind knows the button positions of wired and dongle Xbox controllers,
DualShock 3, DualShock 4, DualSense and Switch controllers, and of controllers
that present as one of them. Any other controller’s buttons are named Joy1 to
Joy32 in the order it reports them.
A stick within 2% of center, or within the controller’s own dead zone when that
is larger, reads 0. Several controllers share the one joypad the way two
keyboards share keys: a button stays down while any controller holds it, and an
axis follows whichever controller moved it last. A controller that leaves
releases what it alone held and returns its axes to rest.
Limits: Rebind Link’s joypad is a standard HID gamepad, so games that read only
XInput do not see it. On Windows, put the Xbox controller in the Link’s USB
profile instead (firmware 4.1.0 or later); XInput games see that one. The
Xbox controller output works on Windows only, and the paddles
PadP1 to
PadP4 have no Xbox control. Rumble, motion sensors and touch position are not
passed through (a DualShock 4 or DualSense touchpad click
arrives as Mouse1), and the macro recorder does not record controllers. A
macro action can press a controller button by code; such a macro plays on the
host.
Modifiers
In bind chords,
Ctrl, Shift, Alt and Win match either side and the
side names such as LCtrl match one side. A bind refuses the other modifier
aliases, such as Cmd+C.
Editing and navigation
System
Punctuation
The physical key, whatever the shift state.Numpad
Media keys
Media keys cannot be sent as
usage:N or played by rb.macro.stream.
Transport key support
Key names are USB HID usages, not characters; the active keyboard layout decides which character a usage produces.- In software mode,
rb.hid.typehands text to the operating system’s output. - On Rebind Link, the Link types each ASCII character as the key and modifiers a US layout uses for it, and skips characters that map has no key for. A computer set to another layout turns those keys into its own characters.
rb.system.type_text, or
rb.clipboard.set and the paste chord. Test layout-sensitive scripts on each
target layout and output.
Delivered keys
Software mode delivers letters, digits, F1 to F12, modifiers, editing, navigation, punctuation and numpad keys. F13 to F24,Menu, IntlBackslash,
and media and volume keys arrive only in hardware mode. Every name on this page
except IntlBackslash can be sent with rb.hid.