Satechi X1 Slim
I bought a Satechi X1 Slim for dad's iPad about a year ago. It's a 60% scissor switch Bluetooth keyboard that you can use wired (USB-C), too (Fn + Eject). The feel is rather close to the Apple Magic Keyboard. Yeah, not even mechanical! I know, I know.
For reasons dad's not using this keyboard so when I recently visited I brought it back with me. It's decent enough but in the ISO version some keys on the right side, close to the return key, are half the size! I might get the ANSI version instead if I'm going to use it much.
To get it even slightly usable I mapped the "cmd" keys to left and right "Meta", the left "alt opt" to "Win", the right "alt opt" to "AltGr".
Of course I added my usual shenanigans with AltGr+åäö (shifted ÅÄÖ) becoming "}{|" ("][\"), just like us old Swedish hackers like it. Think about 7 bit terminals and the Swedish version of ASCII (aka SWASCII) and you get it: you pressed a key marked "å" on the keyboard and your screen hopefully showed "}" if the terminal was set to showing standard ASCII.
Some other small changes: shifted "4" is "$" like Goddess intended and the "`" and "@" are where they would have been on an old Facit terminal or a Luxor ABC or, well, even a Swedish standard keyboard in the 1980's. Also, "~", shifted as "^" are no longer dead keys, except if you use AltGr, which is also inspired by old Swedish keyboards and, yes, the only reasonable way if you're a programmer and Unix user.
If you want the regular function keys on this keyboard, press Fn+Esc.
Here's a Swedish XKB à la MC for your .xkb/symbols/satechi file:
// MC's Swedish keymap for use with Satechi X1 Slim ISO
default partial alphanumeric_keys modifier_keys
xkb_symbols "se" {
include "latin(type2)"
include "se(se)"
//key <TLDE> { [ Escape ] };
key <TLDE> { [ less, greater ] }; // Chose between this and the above depending on ISO/ANSI
key <AE04> { [ 4, dollar ] };
key <AD11> { [ aring, Aring, braceright, bracketright ] };
key <AD12> { [ asciitilde, asciicircum, dead_diaeresis, dead_circumflex] };
key <AC10> { [ odiaeresis, Odiaeresis, bar, backslash ] };
key <AC11> { [ adiaeresis, Adiaeresis, braceleft, bracketleft ] };
key <AE12> { [ grave, at, dead_acute, dead_grave ] };
key <LWIN> { [ Meta_L ] };
key <LALT> { [ Hyper_L ] };
key <RWIN> { [ Meta_L ] };
key <RALT> { [ ISO_Level3_Shift ] };
replace key <CAPS> { [ Control_L, Control_L ] };
modifier_map Control { <CAPS>, <LCTL> };
modifier_map Mod1 { Meta_L, Meta_R };
modifier_map Mod4 { Hyper_L };
modifier_map Mod5 { ISO_Level3_Shift };
};
This is the most minimal version I could come up with and not as complete as my HHKB keymap, so most AltGr things are still where they are by default. Maybe I'll revisit it and complete it.
Read more about mapping your keyboard with XKB in X11 and Waylanpd.
Written by MC on Prickle-Prickle, the 61 day of Discord in the YOLD 3191 ().