Coding and Keyboards (2023)
hendrik-erz.de
hendrik-erz.de
So now I'm fluent in the Swedish, English and later my own layout[0]. A little bit of a waste to be honest, although I'm much more content now.
[0]: https://www.jonashietala.se/blog/2023/11/02/i_designed_my_ow...
Personally I use the US layout on all my keyboards all the time, even if it doesn't match the physical keys -- I just can't go back at this point.
Get me a regular US/EU ANSI keyboard or laptop, or get somebody else to do the job, really. This is so basic in dev/sec/ops that I'm not willing to faff around.
Carabiner on macos was great until kext got the stinky eye, but I'd assume the situation could improve again. PowerTools on Windows is excelent for most cases, and AHK covers the rest. Unixes have always been stellar on that front. At this point anyone should try at least once to remap some keys to make one's life easier.
On this front of the weakness of the US ANSI layout is the lower number of keys, where other layouts (the JIS one for instance, or the british internaltional on mac) give more latitude for extra modifier keys and additional shortcuts.
No need for extra drivers or hacky solutions... Just works everywhere.
Best case scenario: Use a shortcut to activate mapping profiles to store different mappings in the same keyboard - press Ctrl+alt+super+1: enable profile 1
- More open keyboard firmware
- more vendors supporting it
- An Option for (programmable) key mapping within
- Support for at least 5 mapping profiles
But this is pretty unlikely to happen...
On the "works everywhere", it's a weird beast. Programmable keyboards will work on any machine without any configuration, while software remapping will work on any keyboard, even the cheapest IR dongle keyboard you'll buy in a pinch during a trip.
IMO it comes down to which one you switch more often, the machine or the keyboard.
However, mapping e.g. caps lock to ESC (many devs do this) would be a global mapping that just works everywhere on every OS.
Firmware mapping would not exclude software mapping at all but just be there IN ADDITION.
But I definitely agree with the principle - all keyboards should have advanced QMK-like firmware solutions
PowerToys can currently deal with most key combinations and remapping, which is nice as it's first party and pretty rock solid. I still needed other utilities, but only for smaller tweaks and could live without them.
For linux, remapping the keyboard is straight editing the keymap file, and it's less crazy than the registry on windows (last time I looked into there's also no keyboard layout editors supported on windows 11, and I have no hope they'd work with the onscreen keyboard as well)
Both mac and windows have this least powerful equivalent, and via mostly more ergonomic gui apps with key detection (you can also edit the file, though its format might be worse). But then this method isn't context aware / dynamic, so nothing stellar about it
> tweaking millisecond delays is just barbaric
How would you achieve the same with editing a keymap file which has no delays?
Curious, which keybind your were able to use in Karabiner, but not in Elements. I know it's less powerful in a few areas (like detecting active field types), but otherwise don't remember reliability fails during transition
For mac if you're referring to ukulele, it has a bunch of limitation and hard to handle cases. This is kinda normal as it can't handle all the known cases in the universe, but it's also a software targeted at niche users by definition.
I couldn't remember what exact case was blocking for me, but I'm definitely not the only one who struggled: https://groups.google.com/g/ukelele-users/c/yeL0OUpR6Gs/m/Wd...
I don't know of any windows tool of remapping a layout for win11, I'd love to hear about it please.
> How would you achieve the same with editing a keymap file which has no delays?
Sorry for the misleading. I don't want delays, I'm just remapping a key to have a specific action when pressed alone, and other actions when pressed in a combo. Except Karabiner Elements uses/needs delays to split these two cases (at least for the Cmd key for me)
You don't have these limitations with remapping the keyboard at a lower level + remapping the shortcuts. It also was enough of a pain that I moved to keyboards with more keys in the first place.
So does any layout-based remapping, and I've mentioned some of the limitations. But also your link says it's a universal layout (e.g., Mac) limitation, not ukulele's, think Ukelele "just" produces mac-compliant plist files, which can be edited by hand
> remapping a layout for win11
Have the dlls from the ancient microsoft keyboard layout editor stopped working in Win11? But also there is this more powerful (but paid) app kbdedit
> I don't want delays,
I got it, you use delays to differentiate, but then what mechanism does a simpler keymapping approach use to differentiate?
> I'm just remapping a key to have a specific action when pressed alone, and other actions when pressed in a combo.
I had those in Karabiner and with Karabiner elements (also with Cmd, and precisely due to the fact I can use delays that aren't available to the the keymap files I can have quick tap Cmd act differently vs a long tap/hold), so still not clear what specific functionality has disappeared and how this is connected to the level, KE installs its own keyboard driver, so is in full control for recognized keys and can do more than a layout due to the fact that it has more info to work with
Unless you change key bindings, which isn't that hard for just a few cursor keys?
Though the criticism of bad defaults that persist for many years is totally appropriate
I am skeptical about two of the main claims/conclusions, though:
- I don't think enabling caps lock makes the comma and period keys produce < and > without shift on a US keyboard, does it? It's not a "shift lock" after all.
- I think HTML is an application/specialization of SGML, which came from GML that is much older, and from IBM in the US.
There's obviously a caveat there that the keyboard could have been replaced - but based on the colour of the plastics it would certainly be a similar age.
The keyboard has AlphaLock rather than Caps Lock. I can't find a manual saying exactly what it did! You're right that the Caps Lock key on PC and Mac keyboards only capitalises the alphabetic keys without affecting the symbolic or numeric characters. Some international layouts may still offer a Shift Lock?
- Short Left Shift and extra 1x1 key right of it, in ISO
- Enter key being 2x1 in ANSI and a weird tall shape in ISO
I do prefer the ANSI enter key nowadays, but I use ISO because of availability in Europe. I could move to ANSI but my work laptop would still be ISO for example.
For keyboard layouts, I use 'Romanian - Programmers' (Which is US English + the extra Romanian diacritics are made with a key combo, AltGr + A = Ă, AltGr + S = Ș, etc). I had made the change as using the Romanian - Standard layout would've made crazy difficult to type special characters: []{};'\:"|,./<>?.
What I would like to see discussed is how a true successor to QUERTY would look like, one that's not dependent on physical typewriter arms not getting stuck together, possibly an ortholinear.
My current favorite is the Unicomp 103 let US ANSI layout. I started with whatever came with a PC XT (model K iirc), then about a decade with a model M keyboard. I spent about a decade on about 2 a year that I hated before discovering Unicomp existed. I also got into other real switch keyboards as a result. I'm generally fine with Cherry MX Brown.
On layout, I can't stand the Fn key in the corner. And I didn't like when the arrow keys are weirdly integrated on the right. I favor Ctrl on the left and shift on the right.
While I haven't used other language layouts, I find that even the differences with Mac key bindings throws me off a lot.
> People constantly search for simple ways to facilitate something, and when you need a character that is not in the alphabet, Europeans will most likely choose < and >, while Americans may choose { and }.
What’s the difference or cultural context here?
I see them used very rarely in written text. The only context I see them commonly used is math, they are used around sets pretty often, for whatever reason. Or their giant cousins are used to denote different cases.
I have no idea why we have these curly bracket keys. Really I think they are just programming keys for the most part… I’m glad nobody thought to go through and localize the US keyboard to only include punctuation we use! I wish we’d localized worse, let’s get some Greek letters, they can replace the numpad.
[1] https://www.caniusevia.com/
[2] https://docs.qmk.fm/features/dynamic_macros , https://usevia.app/
and my first encounter with unix back in the 1980s involved me with hacking termcap/terminfo files - eek!
to everyone, do yourself a favour and use a US keyboard. and no, i am not a US national.
...huh? Caps Lock has not affected non-letter keys on any keyboard I've ever used, in the UK or the US.
Highly recommended.