Peripheral Input
Ballex's peripheral input logic is processed in the image frame,
so when you need to use the following APIs, set the trigger mode to Image Frame,
otherwise the peripheral input may fail to be captured.
API
CheckKeyDown(key_ID: Literal) -> bool
Check whether a keyboard key is pressed down exactly in the current image frame.
CheckKeyUp(key_ID: Literal) -> bool
Check whether a keyboard key is lifted up exactly in the last image frame.
CheckKeyHold(key_ID: Literal) -> bool
Check whether a keyboard key is being held in the current image frame.
key_ID: key IDreturns: whether the corresponding event happens
CheckMouseDown(button: Literal[0, 1, 2]) -> bool
Check whether a mouse button is pressed down exactly in the current image frame.
CheckMouseUp(button: Literal[0, 1, 2]) -> bool
Check whether a mouse button is lifted up exactly in the last image frame.
CheckMouseHold(button: Literal[0, 1, 2]) -> bool
Check whether a mouse button is being held in the current image frame.
button: mouse button0: left mouse button1: middle mouse button2: right mouse button
returns: whether the corresponding event happens
GetMousePosition() -> vec2
Check the position of the mouse pointer in the current image frame.
returns: position's component along each axis, unit is pixel, right and up are the positive directions
GetMouseScrollDelta() -> vec2
Check the movement of the mouse wheel in the current image frame.
returns: movement along each axis, unit is pixel, right and up are the positive directions
Peripheral Input ID List
Keyboard
| ID | Key | ID | Key | ID | Key | ID | Key |
|---|---|---|---|---|---|---|---|
| 0 | None | 60 | < | 120 | X | 286 | F5 |
| 8 | Backspace | 61 | = | 121 | Y | 287 | F6 |
| 9 | Tab | 62 | > | 122 | Z | 288 | F7 |
| 12 | Clear | 63 | ? | 127 | Delete | 289 | F8 |
| 13 | Enter | 64 | @ | 256 | Numpad0 | 290 | F9 |
| 19 | Pause | 91 | [ | 257 | Numpad1 | 291 | F10 |
| 27 | Esc | 92 | \ | 258 | Numpad2 | 292 | F11 |
| 32 | Space | 93 | ] | 259 | Numpad3 | 293 | F12 |
| 33 | ! | 94 | ^ | 260 | Numpad4 | 294 | F13 |
| 34 | " | 95 | _ | 261 | Numpad5 | 295 | F14 |
| 35 | # | 96 | ` | 262 | Numpad6 | 296 | F15 |
| 36 | $ | 97 | A | 263 | Numpad7 | 300 | NumLock |
| 38 | & | 98 | B | 264 | Numpad8 | 301 | CapsLock |
| 39 | ' | 99 | C | 265 | Numpad9 | 302 | ScrollLock |
| 40 | ( | 100 | D | 266 | Numpad. | 303 | RightShift |
| 41 | ) | 101 | E | 267 | Numpad/ | 304 | Shift |
| 42 | * | 102 | F | 268 | Numpad* | 305 | RightCtrl |
| 43 | + | 103 | G | 269 | Numpad- | 306 | Ctrl |
| 44 | , | 104 | H | 270 | Numpad+ | 307 | RightAlt |
| 45 | - | 105 | I | 271 | NumpadEnter | 308 | Alt |
| 46 | . | 106 | J | 272 | Numpad= | 309 | RightApple |
| 47 | / | 107 | K | 273 | ↑ | 309 | RightCommand |
| 48 | 0 | 108 | L | 274 | ↓ | 310 | LeftApple |
| 49 | 1 | 109 | M | 275 | → | 310 | LeftCommand |
| 50 | 2 | 110 | N | 276 | ← | 311 | Win |
| 51 | 3 | 111 | O | 277 | Insert | 312 | RightWin |
| 52 | 4 | 112 | P | 278 | Home | 313 | AltGr |
| 53 | 5 | 113 | Q | 279 | End | 315 | Help |
| 54 | 6 | 114 | R | 280 | PageUp | 316 | PrintScreen |
| 55 | 7 | 115 | S | 281 | PageDown | 317 | SysReq |
| 56 | 8 | 116 | T | 282 | F1 | 318 | Break |
| 57 | 9 | 117 | U | 283 | F2 | 319 | Menu |
| 58 | : | 118 | V | 284 | F3 | ||
| 59 | ; | 119 | W | 285 | F4 |
Mouse
| ID | Key |
|---|---|
| 323 | Mouse0 |
| 324 | Mouse1 |
| 325 | Mouse2 |
| 326 | Mouse3 |
| 327 | Mouse4 |
| 328 | Mouse5 |
| 329 | Mouse6 |
Gamepad
| ID | Key | ID | Key | ID | Key | ID | Key |
|---|---|---|---|---|---|---|---|
| 330 | JoystickButton0 | 375 | Joystick2Button5 | 420 | Joystick4Button10 | 465 | Joystick6Button15 |
| 331 | JoystickButton1 | 376 | Joystick2Button6 | 421 | Joystick4Button11 | 466 | Joystick6Button16 |
| 332 | JoystickButton2 | 377 | Joystick2Button7 | 422 | Joystick4Button12 | 467 | Joystick6Button17 |
| 333 | JoystickButton3 | 378 | Joystick2Button8 | 423 | Joystick4Button13 | 468 | Joystick6Button18 |
| 334 | JoystickButton4 | 379 | Joystick2Button9 | 424 | Joystick4Button14 | 469 | Joystick6Button19 |
| 335 | JoystickButton5 | 380 | Joystick2Button10 | 425 | Joystick4Button15 | 470 | Joystick7Button0 |
| 336 | JoystickButton6 | 381 | Joystick2Button11 | 426 | Joystick4Button16 | 471 | Joystick7Button1 |
| 337 | JoystickButton7 | 382 | Joystick2Button12 | 427 | Joystick4Button17 | 472 | Joystick7Button2 |
| 338 | JoystickButton8 | 383 | Joystick2Button13 | 428 | Joystick4Button18 | 473 | Joystick7Button3 |
| 339 | JoystickButton9 | 384 | Joystick2Button14 | 429 | Joystick4Button19 | 474 | Joystick7Button4 |
| 340 | JoystickButton10 | 385 | Joystick2Button15 | 430 | Joystick5Button0 | 475 | Joystick7Button5 |
| 341 | JoystickButton11 | 386 | Joystick2Button16 | 431 | Joystick5Button1 | 476 | Joystick7Button6 |
| 342 | JoystickButton12 | 387 | Joystick2Button17 | 432 | Joystick5Button2 | 477 | Joystick7Button7 |
| 343 | JoystickButton13 | 388 | Joystick2Button18 | 433 | Joystick5Button3 | 478 | Joystick7Button8 |
| 344 | JoystickButton14 | 389 | Joystick2Button19 | 434 | Joystick5Button4 | 479 | Joystick7Button9 |
| 345 | JoystickButton15 | 390 | Joystick3Button0 | 435 | Joystick5Button5 | 480 | Joystick7Button10 |
| 346 | JoystickButton16 | 391 | Joystick3Button1 | 436 | Joystick5Button6 | 481 | Joystick7Button11 |
| 347 | JoystickButton17 | 392 | Joystick3Button2 | 437 | Joystick5Button7 | 482 | Joystick7Button12 |
| 348 | JoystickButton18 | 393 | Joystick3Button3 | 438 | Joystick5Button8 | 483 | Joystick7Button13 |
| 349 | JoystickButton19 | 394 | Joystick3Button4 | 439 | Joystick5Button9 | 484 | Joystick7Button14 |
| 350 | Joystick1Button0 | 395 | Joystick3Button5 | 440 | Joystick5Button10 | 485 | Joystick7Button15 |
| 351 | Joystick1Button1 | 396 | Joystick3Button6 | 441 | Joystick5Button11 | 486 | Joystick7Button16 |
| 352 | Joystick1Button2 | 397 | Joystick3Button7 | 442 | Joystick5Button12 | 487 | Joystick7Button17 |
| 353 | Joystick1Button3 | 398 | Joystick3Button8 | 443 | Joystick5Button13 | 488 | Joystick7Button18 |
| 354 | Joystick1Button4 | 399 | Joystick3Button9 | 444 | Joystick5Button14 | 489 | Joystick7Button19 |
| 355 | Joystick1Button5 | 400 | Joystick3Button10 | 445 | Joystick5Button15 | 490 | Joystick8Button0 |
| 356 | Joystick1Button6 | 401 | Joystick3Button11 | 446 | Joystick5Button16 | 491 | Joystick8Button1 |
| 357 | Joystick1Button7 | 402 | Joystick3Button12 | 447 | Joystick5Button17 | 492 | Joystick8Button2 |
| 358 | Joystick1Button8 | 403 | Joystick3Button13 | 448 | Joystick5Button18 | 493 | Joystick8Button3 |
| 359 | Joystick1Button9 | 404 | Joystick3Button14 | 449 | Joystick5Button19 | 494 | Joystick8Button4 |
| 360 | Joystick1Button10 | 405 | Joystick3Button15 | 450 | Joystick6Button0 | 495 | Joystick8Button5 |
| 361 | Joystick1Button11 | 406 | Joystick3Button16 | 451 | Joystick6Button1 | 496 | Joystick8Button6 |
| 362 | Joystick1Button12 | 407 | Joystick3Button17 | 452 | Joystick6Button2 | 497 | Joystick8Button7 |
| 363 | Joystick1Button13 | 408 | Joystick3Button18 | 453 | Joystick6Button3 | 498 | Joystick8Button8 |
| 364 | Joystick1Button14 | 409 | Joystick3Button19 | 454 | Joystick6Button4 | 499 | Joystick8Button9 |
| 365 | Joystick1Button15 | 410 | Joystick4Button0 | 455 | Joystick6Button5 | 500 | Joystick8Button10 |
| 366 | Joystick1Button16 | 411 | Joystick4Button1 | 456 | Joystick6Button6 | 501 | Joystick8Button11 |
| 367 | Joystick1Button17 | 412 | Joystick4Button2 | 457 | Joystick6Button7 | 502 | Joystick8Button12 |
| 368 | Joystick1Button18 | 413 | Joystick4Button3 | 458 | Joystick6Button8 | 503 | Joystick8Button13 |
| 369 | Joystick1Button19 | 414 | Joystick4Button4 | 459 | Joystick6Button9 | 504 | Joystick8Button14 |
| 370 | Joystick2Button0 | 415 | Joystick4Button5 | 460 | Joystick6Button10 | 505 | Joystick8Button15 |
| 371 | Joystick2Button1 | 416 | Joystick4Button6 | 461 | Joystick6Button11 | 506 | Joystick8Button16 |
| 372 | Joystick2Button2 | 417 | Joystick4Button7 | 462 | Joystick6Button12 | 507 | Joystick8Button17 |
| 373 | Joystick2Button3 | 418 | Joystick4Button8 | 463 | Joystick6Button13 | 508 | Joystick8Button18 |
| 374 | Joystick2Button4 | 419 | Joystick4Button9 | 464 | Joystick6Button14 | 509 | Joystick8Button19 |