How to alter presented keyboard's Control keys

I started with copying the file which defines the Control Keys:

$ mkdir ~/.config/com.ubuntu.terminal/Layouts
$ cp /opt/click.ubuntu.com/com.ubuntu.terminal/0.*/qml/KeyboardRows/Layouts/ScrollKeys.json ~/.config/com.ubuntu.terminal/Layouts/BashKeys.json

Named the target file 'BashKeys.json' and modified the main section:

{
"name" : "Bash Keys",
"short_name" : "Bash",
"buttons": [ ...

and inserted one new key (after the 'Up' key):

{
"main_action" : {
"type": "key",
"text" : "\u21b2",
"key" : "Enter"
}
},

After restarting the terminal there is a new function key to select named 'Bash';

see also: https://swordfishslabs.wordpress.com/2015/02/27/json-profiles-in-ubuntu-terminal-app/ and: http://www.unixarea.de/bq/screenshot20151222_081224450.png http://www.unixarea.de/bq/BashKeys.json and a new file for some network related cmd short-cuts:

I have some example files on my server as:

http://www.unixarea.de/bq/NetworkCommands.json http://www.unixarea.de/bq/MuttKeys.json http://www.unixarea.de/bq/BashKeys.json

What is left todo, is how to modify the keyboard itself, for example to get the ESC and the Ctrl key hold down to be able to combine them with any other character on the keyboard (like the Shift key works) to be able to key-in ESC+a, ESC+b, ESC+c ... The full list of already supported keyboards layouts is here: http://bazaar.launchpad.net/~phablet-team/ubuntu-keyboard/trunk/files/head:/plugins/ And a small tutorial about new layouts is here: https://wiki.ubuntu.com/KeyboardLayouts

Last updated: Mon Nov 9 08:45:16 CET 2015