Switch Interface Configurator config.py
Use the configurator below to build a custom set of keyboard shortcuts for your BASI device and generate a config.py file.
About this tool & how to use it
Start by selecting your target OS โ this ensures the correct modifier keys (Cmd vs Ctrl) are used and swapped automatically if you change your selection later.
Mode 0 (Direct Switch) maps each external switch straight to one action with no scanning โ configure it in its own panel below. Modes 1 & 2 (single- and two-switch scanning) share the shortcut list you build further down.
Use the reference table to add common shortcuts, or build your own custom combos with the builder. You can reorder active shortcuts with the โฒ โผ buttons
Any shortcut can become a submenu entry point โ selecting it on the device opens a shorter list of related items instead of scanning through everything. Submenu entries stand out in the active list with an amber background and a thicker outline. Nest an existing shortcut into a submenu with its "Submenu" dropdown, or drag it onto a submenu row.
Generate a file preview which can then be downloaded and flashed to your device.
Step 1 Select Target OS
Step 2 Customize Timing
Step 3 Customize Basic Switch Interface Mode
About Mode 0 & how to configure it
Mode 0 maps each external switch to a single, immediate action โ no scanning or submenus, just a direct press. Enter this mode by pressing D0 on the board, or by double-clicking either external switch at the mode-select screen. Configure the action for each switch below; supports keyboard keys, mouse controls, and media keys.
Two-step setup: pick an action type first, then a second dropdown appears with the specific controls for that type. The Label and TFT symbol auto-fill to match your choice โ edit either one to override it (your edit then sticks). Keyboard: optional modifier + key. Mouse click: left / right / middle. Mouse scroll: ticks up or down. Mouse move: X/Y pixels per press. Media: play/pause, volume, track skip, mute, brightness โ requires adafruit_hid โฅ 6.0. Keep the TFT symbol to 1โ3 plain characters (the onboard display does not render emoji).
Step 4 Customize Active Shortcuts
Each shortcut has Move Up and Move Down buttons. Activating a move button keeps focus on that button so you can continue pressing to reorder with minimal switches. Submenu entry points are shown with an amber background and a thicker border, and have their own controls below them to show their items, add items, and toggle auto-exit. A plain shortcut has a "Move into submenu" dropdown to nest it under an existing submenu entry point.