Remapping Keys with JSON
TinyTERM Enterprise for iOS version 3.3.0 introduced another method of remapping keys,
the keymap.json
file. This file allows reassigning keys globally, rather than
through a keyboard layout file. keymap.json
does not replace keyboard layout files, but instead supplements them by redefining
individual keys.
All information stored in keymap.json
is global. The defined key mappings apply to all
sessions equally.
KEYMAP.JSON File Format
keymap.json
follows a standard JSON file format. It opens and closes with curly
braces {}. Each line defines a single key in the format:
"<key>" : "definition"
The angle brackets are required around the key name, unless remapping a single alphanumeric character. The key definition can be a quoted string, or a procedure call enclosed in curly braces.
Each line but the last must also end in a comma. Here's a sample file that demonstrates these.
{
"<PF24>" : { "proc" : "CEN_PROC_SELECT_KEYBOARD" , "args" : "Scanner" },
"<PF18>" : "<PREV>",
"<PF19>" : "NEXT"
}
The first line remaps the PF24 key to call the CEN_PROC_SELECT_KEYBOARD process, changing the keyboard layout to the "Scanner" layout. The second line changes the PF18 key to send the string "PREV". And the third line remaps the PF19 function key to send the word "NEXT" as a typed string.
Download a sample keymap.json
file here.
Available Keys
All regular keyboard keys can be remapped. For lists of those, see the individual keyboard references:
Special key names should be enclosed in quotation marks and angle brackets;
e.g., "<SF3>"
.
Importing KEYMAP.JSON
Once the keymap.json
file is created, it needs to be imported into TinyTERM. To do that,
export the current TinyTERM settings. Uncompress the resulting
.ttconfig file as described. Add keymap.json
into the resulting files. Compress and rename
the configuration. The keymap.json
file will be included when the new .ttconfig file
is imported.