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.


iOS User Guide Table of Contents