This is a fork of ColeslawProductions'script which in turn is a reimagining of TheV360'soriginal AutoHotkey script.
This is an AutoHotkey script (sorry, Windows only1) that builds on its predecessors to provide a mapping from the OS keyboard layer to SmileBASIC's software keyboard in citra-emu by sending mouse events.
Some features include:
Switching between controller mode and keyboard mode
Respecting user button configuration (with one recommendation)
Support for file save dialog
Typical text editor command access: copy/paste/save/find etc.
It is highly recommended that you map the D-Pad buttons to the arrow keys prior to using the script.
For an even more convenient way to edit SmileBASIC programs on a PC for use with Citra, please check out smilebasic-mode for emacs.
The project is available at https://github.com/y-ack/citra-smilebasic-keyboard
A binary for 64-bit Windows systems can be downloaded from releases
The script assumes that you have a key profile defined and that qt-config.ini is in SmileBASIC's appdata directory.
Please use Ctrl+LeftClick to define the top left corner of the touch screen and Ctrl+RightClick to define the bottom right corner of the touch screen on running the adapter.
calibration must be performed before anything elseC-Mouse1 - calibrate touchscreen top left
C-Mouse2 - calibrate touchscreen bottom right
M-x - toggle Controller ModeCapsLock - switch keyboard case
M-Left - previous slot
M-Right - next slot
normal keys - insert text
backspace - backspace
<RETURN> - insert newline
C-s - save slot (enable Dialog Mode)
C-o - open file in slot
C-v - paste
C-z - undo
C-y - redo
C-Left, home - beginning of line
C-Right, end - end of line
C-Up, PgUp - scroll up
C-Down, PgDn - scroll down
C-f - enable Search ModeC-S-H - enable Search Mode with replace on
M-. - jump to definition (Search Mode)
C-<SPACE> - enable Select ModeS-arrows - Select and move
F1-F5 - function keys
F6 - direct mode
F7-F10 - slot 0-3
C-/, C-' - make current line a comment
M-w - insert WHILE WEND (experimental)
M-i - insert IF THEN (experimental)
M-l - insert ELSEIF THEN (experimental)
C-h - toggle SB help