You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

80 lines
2.1 KiB

  1. # Terminal
  2. > This feature is currently *huge* at 4400 bytes, and should probably only be put on boards with a lot of memory, or for fun.
  3. The terminal feature is a command-line-like interface designed to communicate through a text editor with keystrokes. It's beneficial to turn off auto-indent features in your editor.
  4. To enable, stick this in your `rules.mk` or `Makefile`:
  5. TERMINAL_ENABLE = yes
  6. And use the `TERM_ON` and `TERM_OFF` keycodes to turn it on or off.
  7. When enabled, a `> ` prompt will appear, where you'll be able to type, backspace (a bell will ding if you reach the beginning and audio is enabled), and hit enter to send the command. Arrow keys are currently disabled so it doesn't get confused. Moving your cursor around with the mouse is discouraged.
  8. `#define TERMINAL_HELP` enables some other output helpers that aren't really needed with this page.
  9. ## Future Ideas
  10. * Keyboard/user-extensible commands
  11. * Smaller footprint
  12. * Arrow key support
  13. * Command history
  14. * SD card support
  15. * LCD support for buffer display
  16. * Keycode -> name string LUT
  17. * Layer status
  18. * *Analog/digital port read/write*
  19. * RGB mode stuff
  20. * Macro definitions
  21. * EEPROM read/write
  22. * Audio control
  23. ## Current Commands
  24. ### `about`
  25. Prints out the current version of QMK with a build date:
  26. ```
  27. > about
  28. QMK Firmware
  29. v0.5.115-7-g80ed73-dirty
  30. Built: 2017-08-29-20:24:44
  31. ```
  32. ### `help`
  33. Prints out the available commands:
  34. ```
  35. > help
  36. commands available:
  37. about help keycode keymap exit
  38. ```
  39. ### `keycode <layer> <row> <col>`
  40. Prints out the keycode value of a certain layer, row, and column:
  41. ```
  42. > keycode 0 1 0
  43. 0x29 (41)
  44. ```
  45. ### `keymap <layer>`
  46. Prints out the entire keymap for a certain layer
  47. ```
  48. > keymap 0
  49. 0x002b, 0x0014, 0x001a, 0x0008, 0x0015, 0x0017, 0x001c, 0x0018, 0x000c, 0x0012, 0x0013, 0x002a,
  50. 0x0029, 0x0004, 0x0016, 0x0007, 0x0009, 0x000a, 0x000b, 0x000d, 0x000e, 0x000f, 0x0033, 0x0034,
  51. 0x00e1, 0x001d, 0x001b, 0x0006, 0x0019, 0x0005, 0x0011, 0x0010, 0x0036, 0x0037, 0x0038, 0x0028,
  52. 0x5cd6, 0x00e0, 0x00e2, 0x00e3, 0x5cd4, 0x002c, 0x002c, 0x5cd5, 0x0050, 0x0051, 0x0052, 0x004f,
  53. >
  54. ```
  55. ### `exit`
  56. Exits the terminal - same as `TERM_OFF`.