People with completely custom non-english layouts, how do you program them?
Especially on QMK/TMK, especially non-english ones.
Do you mangle the QWERTY layout to fit your needs, especially when there is no correspondence between QWERTY and you language's layout or do you send directly Unicode characters?
I'm working on a French, Bépo-inspired, completely custom layout with full access to diacritics and ligatures. The keyboard must be OS-agnostic as I'm using Linux at home and Windows at work, and should be completely compatible with the AZERTY layout as understood by the OS and need no install or configuration on the PC as work PCs are usually completely locked-down and don't allow input layout modification.
Letters like é, è, à, ç, and ù are directly accessible on the AZERTY keyboard, so a bit of mangling should work (despite ù being used in a single word in the entire language but whatevs)
My concerns are:
ê, ë and so on are pretty common but need a dead key to be typed. Not ideal. It might be possible with a macro, but Unicode might be more efficient.
æ and œ are completely absent from AZERTY and cannot even be directly typed on windows despite appearing on very common words like cœur or bœuf. They are hidden behind AltGr-A and AltGr-O in Linux tho. Unicode is a must.
Every language + keyboard setting combination in Windows has different behaviours. I recommend using the default settings for your region, because that allows you to still use a standard keyboard the way you are used to (your laptop keyboard for example) - in my case US-international layout + Dutch or English(Netherlands) language settings. Based on that keyboard behaviour I make my QMK keymap.
For diacritics I used the following approach:
tap [ ' ], then tap [ e ] results in 'e
hold [ ' ], then tap [ e ] results in é
same for all other diacritics (" ë, ` è, ^ ê, ~ ñ)
I found that a lot more workable than the default dead key behaviour of the Dutch keyboard settings. (allows to type é easily without making 'e annoying to type or vice versa)
how to write that in QMK depends on your language and keyboard settings. Or you could base your QMK code on the ASCII approach (typing ASCII number on numpad while holding alt); I think (not 100% sure) that works universally for all language and keyboard settings. I just use windows though, so for other OS's I'm clueless..