here’s my excerpt of this thread. Please proofread, and I’ll link it in the sidebar when it passes muster.
For now I’d just strongly recommend the “free” brackets key that @algernon first suggested. It is the one I ended up with (for the time being)
But the full solution is still very relevant. If instead of using a US layout I switched to a Danish layout I’d be in even more trouble.
- ( = shift + 8
- { = altgr + 7
- [ = altgr + 8
- < = the special <> key which also gives us \ with altgr on nordic keyboards
So instead of slaying this monster I vent on to slay the monster of inputting international characters on a US layout keyboard. That fight is won on MacOS, but I ran into issues on windows. So status monday morning is that my Model01 is almost, but not quite, ready to bring with me to work …
I’ve gone in a slightly different direction here. PgUp and PgDn didn’t seem to me to deserve unshifted keys; so I’ve done this:
- moved [ / { to PgUp and ] / } to PgDn, with parentheses on the Fn-shifted versions
- moved the cursor keys to IJKL, for the same reasons as you
- moved PgUp to Fn-U and PgDn to Fn-O
- moved Home to Fn-H and End to Fn-; (leaving Fn-P unused)
I like this a lot, as it puts all the motion keys together on the right hand, and makes the delimiters easier to type. (On the host I rotate the delimiters, so parentheses are unshifted, brackets are shifted, and braces are Fn-shifted; this is actually a remapping I’ve done for many years for standard keyboards. It’s not immediately obvious to me how to do this in the Model 01 firmware, though I guess there must be a way.)
I like what you’ve done with the mouse keys, though. I might copy that.
In @algernon post about you can see how to use TOPSY(LeftBracket) to swap the two.
The inverse T for mouse keys is a success. Warping NW and NE too. SE and SW not so much.
having T as left-click is cool since it easy for at gamer to learn. But not cool, if you need to drag og select text, so I am looking for another / alternative solution for that.
I moved the mouse keys around so they fall as follows:
NW up NE NoWarp
LBut left down rght RBut
PrSc SW MBut SE insert
See https://github.com/andrewgdotcom/Model01-Firmware/blob/master/layer-abg-function-inverted-t.h
The idea is that the left button is the one most often held down during a drag, so it is on a different finger from the three required for navigation. The warp keys are arranged in a square around the inverted-t so that they are in an intuitive position and can be used comfortably by the same three fingers.
If the ‘01’ were a constant in many programming languages, it would be in octal, but ignoring that convention it could be that the next product would be the Model010, with the Model011 to follow.
Naming it Model 010 would also prevent reduce the number of people calling it the “model ten” like they would if it were Model 10.
If this naming is actually used I would suggest adding a parity bit to minimize product naming confusion.
Oh, what if the ‘1’ in ‘01’ is already actually a parity bit?
Or maybe the ‘0’ is a leading parity bit? Unfortunately we don’t have much to work with to try to figure out the algorithm.
@lasse Did you manage to do this? If so I would be very happy to see how you did it! I’d like to do the same for Swedish – åäö and shifted ÅÄÖ.
My current version works on MacOS, provided you change the input source i System preferences to a unicode keyboard. It also requires that you hard code that the OS is OSX in the firmware, since OS autodetection is flaky.
Currently it doesn’t work on windows for me. Don’t really know what to do about it, so my keyboard is just gathering dust, while I hope somebody else paves the way …
But provided you use MacOS, the macro I made works.
If you use a swedish layout in the OS, you will have an easier time getting swedish characters to work. But that will change how keys work when shifted - and for that I prefer something closer to a US layout.
Oh. And the danish characters got a whole seperate thread with the full discussion. Please continue that, and keep this one to brackets
re: switching operating systems: I used the Leader plugin to define a sequence I can hit to switch the HostOS to Linux or macOS, depending which computer I’m using: https://bitbucket.org/jamesnvc/keyboardiolayout/src/3adfbb9dce112504bbd8fb3bc92b213ed8d09304/james_layout.ino?at=master&fileviewer=file-view-default#james_layout.ino-221
I have defined macros to switch os. You can find them in my github link above.
I think they work fine, but I am not 100% since I have all sorts of problems on Windows and haven’t tested on Linux