Skip to main content

Windows

Required hardware/software

This tip will likely also work with the tools for remapping keys provide by other keyboard brands.

Configuration

Because we want to avoid any possible conflicts with keyboard shortcuts defined by other applications we will use the right-hand side key combination: alt + shift + ctrl as our modifier.

We can then define all our global shortcuts based on this modifier.

Since CAPS lock is often not used by people and positioned such that it is easy to reach we can remap CAPS-LOCK to alt + shift + ctrl.

The result is that we now have our easy-to-reach modifier key that we can use to define global shortcuts that are unlikely to override shortcuts defined in the operating system or in other applications.

Armed with the above modifier we can now create shortcuts that map h, j, k, l to the arrow keys allowing navigating in any application by holding down caps-lock.

Configure CAPS-Lock

  1. Open iCUE, select your keyboard and navigate to "Key Assignment".
  2. Click + inside the "Assignments" panel.
  3. Select "Keystroke"
  4. Select "Key and click "Caps Lock" on the keyboard image.
  5. In the "Remap: Keystroke" pane type: alt + shift +ctrl (using the right-hand keys)

Pay attention that caps-lock is in the correct state as the caps lock key will stop fuctioning as caps lock after remapping.

Setup shortcuts in PowerToys

  1. Open Power Toys
  2. Select the "Keyboard Manager" tool.
  3. Click "Remap shortcuts"
  4. Select and then type alt +shift + ctrl and h
  5. To send (Key/Shortcut) select "Right" from the dropdown.
  6. Click ok

You can now use caps-lock + h as the left arrow key.

Useful Short Cuts

Short CutAction
Ctrl(Right) + Alt(Right) + Shift (Right) + SpaceEsc
Ctrl(Right) + Alt(Right) + Shift (Right) + HLeft
Ctrl(Right) + Alt(Right) + Shift (Right) + JDown
Ctrl(Right) + Alt(Right) + Shift (Right) + KUp
Ctrl(Right) + Alt(Right) + Shift (Right) + LRight
Ctrl(Right) + Alt(Right) + Shift (Right) + TAlways on Top (In Power Toys)

Boost Windows keyboard speed.

To significantly boost developer productivity boost your keyboard repeat speed.

If the operating system preferences are not fast enough you can increase speed past allowed values as follows.

Use regedit.exe to search for and then edit the following key

Keyboard Speed Default: 31 (higher numbers are faster, try 41)

HKEY_CURRENT_USER\Control Panel\Keyboard

Windows Terminal

Windows Terminal Preferences
// This file was initially generated by Windows Terminal 1.4.3243.0
// It should still be usable in newer versions, but newer versions might have additional
// settings, help text, or changes that you will not see unless you clear this file
// and let us generate a new one for you.

// To view the default settings, hold "alt" while clicking on the "Settings" button.
// For documentation on these settings, see: https://aka.ms/terminal-documentation
{
"$schema": "https://aka.ms/terminal-profiles-schema",

"defaultProfile": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",

// You can add more global application settings here.
// To learn more about global settings, visit https://aka.ms/terminal-global-settings

// If enabled, selections are automatically copied to your clipboard.
"copyOnSelect": true,

// If enabled, formatted data is also copied to your clipboard
"copyFormatting": false,

// A profile specifies a command to execute paired with information about how it should look and feel.
// Each one of them will appear in the 'New Tab' dropdown,
// and can be invoked from the commandline with `wt.exe -p xxx`
// To learn more about profiles, visit https://aka.ms/terminal-profile-settings
"profiles": {
"defaults": {
// Put settings here that you want to apply to all profiles.
"useAcrylic": true,
"acrylicOpacity": 0.8
},
"list": [
{
// Make changes here to the powershell.exe profile.
"guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
"name": "Windows PowerShell",
"commandline": "powershell.exe",
"hidden": false,
"colorScheme": "Campbell Powershell",
"fontSize": 10
},
{
// Make changes here to the cmd.exe profile.
"guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
"name": "Command Prompt",
"commandline": "cmd.exe",
"hidden": false
},
{
"guid": "{07b52e3e-de2c-5db4-bd2d-ba144ed6c273}",
"hidden": false,
"name": "Ubuntu-20.04",
"source": "Windows.Terminal.Wsl",
"colorScheme": "Solarized Dark Higher Contrast",
"fontSize": 10,
"fontWeight": "semi-light"
},
{
"guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
"hidden": false,
"name": "Azure Cloud Shell",
"source": "Windows.Terminal.Azure"
}
]
},

// Add custom color schemes to this array.
// To learn more about color schemes, visit https://aka.ms/terminal-color-schemes
"schemes": [
{
"name": "Solarized Dark Higher Contrast",
"black": "#002831",
"red": "#d11c24",
"green": "#6cbe6c",
"yellow": "#a57706",
"blue": "#2176c7",
"purple": "#c61c6f",
"cyan": "#259286",
"white": "#eae3cb",
"brightBlack": "#006488",
"brightRed": "#f5163b",
"brightGreen": "#51ef84",
"brightYellow": "#b27e28",
"brightBlue": "#178ec8",
"brightPurple": "#e24d8e",
"brightCyan": "#00b39e",
"brightWhite": "#fcf4dc",
"background": "#001e27",
"foreground": "#9cc2c3"
}
],

// Add custom actions and keybindings to this array.
// To unbind a key combination from your defaults.json, set the command to "unbound".
// To learn more about actions and keybindings, visit https://aka.ms/terminal-keybindings
"actions": [
// Copy and paste are bound to Ctrl+Shift+C and Ctrl+Shift+V in your defaults.json.
// These two lines additionally bind them to Ctrl+C and Ctrl+V.
// To learn more about selection, visit https://aka.ms/terminal-selection
{ "command": { "action": "copy", "singleLine": false }, "keys": "ctrl+c" },
{ "command": "paste", "keys": "ctrl+v" },

// Press Ctrl+Shift+F to open the search box
{ "command": "find", "keys": "ctrl+shift+f" },

// Press Alt+Shift+D to open a new pane.
// - "split": "auto" makes this pane open in the direction that provides the most surface area.
// - "splitMode": "duplicate" makes the new pane use the focused pane's profile.
// To learn more about panes, visit https://aka.ms/terminal-panes
{
"command": {
"action": "splitPane",
"split": "auto",
"splitMode": "duplicate"
},
"keys": "alt+shift+d"
}
]
}