Keys
All mouse, keyboard, and gamepad input events are exposed as string constants on the Keys
enum.
Mouse Buttons
- Keys.left_mouse_down
"left mouse down"
- Keys.left_mouse_up
"left mouse up"
- Keys.middle_mouse_down
"middle mouse down"
- Keys.middle_mouse_up
"middle mouse up"
- Keys.right_mouse_down
"right mouse down"
- Keys.right_mouse_up
"right mouse up"
- Keys.double_click
"double click"
Scroll Wheel
- Keys.scroll_up
"scroll up"
- Keys.scroll_down
"scroll down"
Arrow Keys
- Keys.left_arrow
"left arrow"
- Keys.left_arrow_up
"left arrow up"
- Keys.up_arrow
"up arrow"
- Keys.up_arrow_up
"up arrow up"
- Keys.down_arrow
"down arrow"
- Keys.down_arrow_up
"down arrow up"
- Keys.right_arrow
"right arrow"
- Keys.right_arrow_up
"right arrow up"
Page Navigation
- Keys.page_up
"page up"
- Keys.page_up_up
"page up up"
- Keys.page_down
"page down"
- Keys.page_down_up
"page down up"
Editing & Control
- Keys.enter
"enter"
- Keys.backspace
"backspace"
- Keys.escape
"escape"
- Keys.tab
"tab"
Modifier Keys
- Keys.left_control
"left control"
- Keys.left_control_up
"left control up"
- Keys.right_control
"right control"
- Keys.right_control_up
"right control up"
- Keys.left_shift
"left shift"
- Keys.left_shift_up
"left shift up"
- Keys.right_shift
"right shift"
- Keys.right_shift_up
"right shift up"
- Keys.left_alt
"left alt"
- Keys.left_alt_up
"left alt up"
- Keys.right_alt
"right alt"
- Keys.right_alt_up
"right alt up"
Gamepad Axes (held_keys only)
- Keys.gamepad_left_stick_x
"gamepad left stick x"
- Keys.gamepad_left_stick_y
"gamepad left stick y"
- Keys.gamepad_right_stick_x
"gamepad right stick x"
- Keys.gamepad_right_stick_y
"gamepad right stick y"
- Keys.gamepad_left_trigger
"gamepad left trigger"
- Keys.gamepad_right_trigger
"gamepad right trigger"
Gamepad Buttons & D-Pad
- Keys.gamepad_a
"gamepad a"
- Keys.gamepad_a_up
"gamepad a up"
- Keys.gamepad_b
"gamepad b"
- Keys.gamepad_b_up
"gamepad b up"
- Keys.gamepad_x
"gamepad x"
- Keys.gamepad_x_up
"gamepad x up"
- Keys.gamepad_y
"gamepad y"
- Keys.gamepad_y_up
"gamepad y up"
- Keys.gamepad_back
"gamepad back"
- Keys.gamepad_back_up
"gamepad back up"
- Keys.gamepad_start
"gamepad start"
- Keys.gamepad_dpad_up
"gamepad dpad up"
- Keys.gamepad_dpad_up_up
"gamepad dpad up up"
- Keys.gamepad_dpad_down
"gamepad dpad down"
- Keys.gamepad_dpad_down_up
"gamepad dpad down up"
- Keys.gamepad_dpad_left
"gamepad dpad left"
- Keys.gamepad_dpad_left_up
"gamepad dpad left up"
- Keys.gamepad_dpad_right
"gamepad dpad right"
- Keys.gamepad_dpad_right_up
"gamepad dpad right up"
Gamepad Shoulder Buttons
- Keys.gamepad_left_shoulder
"gamepad left shoulder"
- Keys.gamepad_left_shoulder_up
"gamepad left shoulder up"
- Keys.gamepad_right_shoulder
"gamepad right shoulder"
- Keys.gamepad_right_shoulder_up
"gamepad right shoulder up"
Functions
Function | Description |
---|---|
bind(original_key, alternative_key) | Map original_key events to alternative_key . |
unbind(key) | Remove any rebinding for key . |
rebind(to_key, from_key) | Alias to_key events to from_key . |
input(key) | Internal handler that applies all bindings before dispatching to def input(key): callbacks. |
get_combined_key(key) | Retrieve the final mapped key after all nested bindings. |
Example
from ursina import *
from ursina import input_handler, Keys
app = Ursina(borderless=False)
# Rebind 'z' to act like 'w'
input_handler.bind('z', 'w')
# Map left-click and gamepad B to a custom 'attack' event
input_handler.bind(Keys.left_mouse_down, 'attack')
input_handler.bind(Keys.gamepad_b, 'attack')
def input(key):
print('got key:', key)
if key == 'attack':
destroy(Entity(model='cube', color=color.blue), delay=0.2)
app.run()