People with completely custom non-english layouts, how do you program them? - eviltoast

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.

Thanks!

  • obosob@feddit.ukM
    link
    fedilink
    arrow-up
    5
    ·
    1 year ago

    I think most people map their keyboards to something based upon US QWERTY and set their input language in the OS to their language layout. that means no faffing around with unicode. e.g. QMK’s KC_SEMI is ; in English (United States) locale but å in a nordic layout. There’s not really a fully portable way to achieve it all on-keyboard because the means to input unicode differs between operating systems. However, you can use QMK’s unicode support but you will also need to include some keys that toggle between which OS you’re plugged into to have it work.

    For portability you are better off using whatever the most widely-used means of typing your given characters are across OSs, so if Linux/Mac/Windows all have the same deadkey combination for ë and ê on their built-in AZERTY, use a macro that types that. As for æ and œ then yeah, you might be shit out of luck with a properly agnostic portable system. Unicode stuff, as I said above, is not OS agnostic so you will have to toggle a setting based on which OS you are using at the time. I don’t think there’s a way to detect that from the host unless there is a hueristic I’m unaware of.

    Good luck, I hope you come up with a low-friction solution.

    • WFH@lemmy.worldOP
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      if Linux/Mac/Windows all have the same deadkey combination for ë and ê on their built-in AZERTY, use a macro that types that.

      They do actually. Macro it is then.

      For the ligatures, I might actually map AltGr-O and AltGr-A to some keys and Alt+0156 and Alt+0230 to adjacent keys, so there is no need to maintain layer spaghetti just for two (useful but relatively uncommon) characters.

      A whole new can of worms can be opened too with accented, uppercase letters.

      I’m gonna scale my ambitions down. Let’s not be more royalist than the king as we say in French, I will aim for parity with the AZERTY keyboard and we’ll see from there.