Make number row into symbols row by default
As a programmer I find myself typing symbols a lot more often than I do numbers. So it would be nice if the numbers row on the keyboard produced symbols by default.
The end results should be: 6 would produce ^
and Shift+6 would give 6
.
I tried switching to Dvorak for a while but the combination of a steep learning curve and a looming deadline don't make that an attractive solution.
Ideally I'd like to this on Windows as well but let's focus on Debian as it's my main dev machine.
From what I find on the web the "shift lock" feature, activated by rapidly hitting the Shift button does exactly that on Windows, but I couldn't find any *nix reference.
Edit: Ideally the solution shouldn't interfere with non-num row keys such as [ but if it does I can live with it (as {
is more common in C than [
).
Solution 1:
From your question I understand that you only need certain keys to be working exactly as when Pressing shift and vice versa. For this you can build your own Custom Keyboard Layout. For this you can download Microsoft Keyboard Layout Creator MSKLC and then use it to create custom layout for your system. Also after building the custom layout It should ask you to install the created layout so choose YES to go to that folder where the Installer is and install your custom layout. Also you need to restart your system after Building your custom layout. After this you only Need to activate it from the Control Panel.
Go to (For Windows 8)
- Press Windows button + I (To open the Settings Charms menu)
- Click on Keyboard button (Lower right corner)
- You should see your custom Layout
- Select it
- And now your Custom layout will be activated
Also For a full tutorial on MSKLC you can get it here and here. See both tuts if any problems occur.
Solution 2:
From the thread Reversing role of pressing shift+number comes this xmodmap file :
keycode 10 = exclam 1 exclam 1
keycode 11 = at 2 at 2
keycode 12 = numbersign 3 numbersign 3
keycode 13 = dollar 4 dollar 4
keycode 14 = percent 5 percent 5
keycode 15 = asciicircum 6 asciicircum 6
keycode 16 = ampersand 7 ampersand 7
keycode 17 = asterisk 8 asterisk 8
keycode 18 = parenleft 9 parenleft 9
keycode 19 = parenright 0 parenright 0
See the above link for more information on using this file.