Chrome extension to enable the Colemak Mod-DH Wide layout for ChromeOS with specifically a QWERTY UK Layout. Tested and working on the Dell CB13 7310 on ChromeOS 84.04147.37 (Beta). Does not require the ChromeOS Developer Mode to be turned on, as far as I know. This can be modified to accommodate any layout, as it simply converts binded keys to some user defined text when typed. As it is an extension, it does not work on the lock/login screen. According to Extra Keyboards for ChromeOS, and through own testing using this codepen, I have found that ChromeOS defaults to your main keyboard for any password fields.
I doubt anyone will use this, but this is more so for keeping save the effort I made to make Colemak work on ChromeOS. Sadly you are NOT able to activate Search, Assistant, or any of the ChromeOS wide shortcuts like switching Desks yet, which would have made this mod so much more enjoyable. However, you are able to use one click Copy, Cut, and Paste (Undo does not work for some odd reason.)!! Also, moving Ctrl, Shift (and Backspace) to the homerow or close to it, has allowed me to make working with text a lot more comfortable.
Choice of Extend key is Capslock here which has been remapped to be in the location of the Search Key on ChromeOS. Too lazy to provide a graphic of the Extend mapping since it is very personal.
- Place
background.js
andmanifest.json
in a folder. - Go to
chrome://extensions/
and enable the 'Developer mode'. - Click on 'Load unpacked' and select the folder where both files are located at.
- Go to the following link
chrome://settings/inputMethods
orchrome://settings/languages
and navigate to 'Input method' -> 'Manage input methods'. - Select 'UK Colemak Mod-DH Wide'.
- Use Ctrl+Space to switch between layouts.
If you want to modify the layout for whatever purpose, you can do so by modifying the 'dic' object inside background.js
. For simple remapping of non-shifted and shifted keys, simply use the first two entries in the array. For extended mapping, use 3rd entry as the actual key to be pressed, and the 4th entry whether shift/alt/ctrl are pressed during the key extended key. Note that for remapping Control/Shift/Alt, you have to have the respective key set to pressed as well as shown below.
// "Actual Key" : ["non-shift", "shifted", "extended mapping key", "shiftKey, altKey, ctrlKey"]
"KeyD": ["s", "S", null, null],
"KeyF": ["t", "T", "Control", "ctrlKey"],