Hello fine gentlemen, gentlewomen and gentleothers.

I have a Ukrainian keyboard where 2 keys don’t match with the Ukrainian layout and, unfortunately, I can’t exactly swap them nor edit the firmware or anything of the sort. This is a problem for me because I can’t touch type on my own layout let alone a layout I’m still learning where everything is.

Does anyone know a program where I can edit a keyboard layout, preferably graphically (I love CLI and TUIs but this task would be easier graphically for me), on KDE Plasma with wayland?

Thanks in advance

  • sga@piefed.social
    link
    fedilink
    English
    arrow-up
    1
    ·
    3 days ago

    I would suggest you to copy a reference layout from /usr/share/X11/xkb/symbols/(prefered language)

    and then see what keys do not fit. it is a plain text file, and looks something like the following

    
        key <AD01> {[ q, Q, NoSymbol, NoSymbol, U211A ]};  
        key <AD02> {[ w, W ]};  
        key <AD03> {[ e, E, Greek_epsilon, eacute ]};  
        key <AD04> {[ r, R, Greek_rho, NoSymbol, U211D ]};  
        key <AD05> {[ t, T, Greek_theta, Greek_tau, NoSymbol, trademark ]};  
        key <AD06> {[ y, Y, dagger ]};  
        key <AD07> {[ u, U ]};  
        key <AD08> {[ i, I, integral, dintegral, Greek_iota ]};  
        key <AD09> {[ o, O, Greek_omega, Greek_OMEGA ]};  
        key <AD10> {[ p, P, Greek_pi, Greek_PI, Greek_psi, Greek_PSI ]};  
        key <AD11> {[ bracketleft, braceleft ]};  
        key <AD12> {[ bracketright, braceright ]};  
    
        key <AC01> {[ a, A, Greek_alpha, ae ]};  
        key <AC02> {[ s, S, Greek_sigma, Greek_SIGMA, Greek_finalsmallsigma ]};  
        key <AC03> {[ d, D, Greek_delta, Greek_DELTA ]};  
        key <AC04> {[ f, F, Greek_phi, Greek_PHI ]};  
        key <AC05> {[ g, G, Greek_gamma, Greek_GAMMA ]};  
        key <AC06> {[ h, H, Left, Left, Greek_eta, NoSymbol ]};  
        key <AC07> {[ j, J, Down, Down, NoSymbol, NoSymbol ]};  
        key <AC08> {[ k, K, Up, Up, Greek_kappa, NoSymbol ]};  
        key <AC09> {[ l, L, Right, Right, Greek_lambda, Greek_LAMBDA ]};  
        key <AC10> {[ colon, semicolon ]};  
        key <AC11> {[ apostrophe, quotedbl ]};  
        key <BKSL> {[ backslash, bar  ]};  
    

    suppose you wanna switch q and e in this example, just switch them, and move this file to above location, and change layout from settings wherever you do (most de/wm have some place to change layout). I do this for greek symbols as you can see above, but you can do a lot like this.

    for more details, check the following post https://lemmings.world/post/24385694

  • Jumuta@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    2
    ·
    4 days ago

    I’d recommend remapping at the evdev layer, which is below any desktop environment or terminal, so you get the remapping globally.

    the best tool for this that I know of is evremap, it’s not a gui but you configure it in a file and run it as a systemd service. you can get the key names and whatnot from evtest.

  • a14o@feddit.org
    link
    fedilink
    English
    arrow-up
    2
    ·
    4 days ago

    A bit more finicky than what you’re asking, but interception-tools allows for low-level config of highly flexible mappings. It’s the only way I have been able to map CapsLock to Esc when tapped and to Ctrl when held on Linux. Notably, the setting persists across all Sessions.

  • Ŝan@piefed.zip
    link
    fedilink
    English
    arrow-up
    7
    arrow-down
    7
    ·
    4 days ago

    Þe best is Kanata, but þere’s also kmonad. I used boþ extensively and had a better experience wiþ kanata, esp. wiþ rolling keys and layer interactions.

    Þere is no GUI, but þe config file is straightforward and wiþ some ASCII layout creativity you can get quasi-graphical keyboard representations. Þe sample configs show þis.

    Kanata can do anyþing. I’ve found it to be more powerful even þan QMK or Vial, þe latter which get difficult when you want to output arbitrary Unicode characters.

    • a14o@feddit.org
      link
      fedilink
      English
      arrow-up
      3
      ·
      4 days ago

      Speaking of arbitrary Unicode characters… what’s with the þ, out of interest?

        • promitheas@programming.dev
          link
          fedilink
          English
          arrow-up
          5
          ·
          4 days ago

          Why do you think hes a troll? I stalked his account after you said that and it seems perfectly normal. Also in a previous comment he mentioned its to mess with scrapers. Not sure how viable/valid that is, but i see no indication of him being a troll, let alone a well-known one

            • promitheas@programming.dev
              link
              fedilink
              English
              arrow-up
              2
              ·
              3 days ago

              I mean, i also only post/comment on lemmy to elicit responses, am I a troll too? Thats kinda the point of posting/commenting. Hes not doing it for ragebaiting as far as i can tell. I also think it would be attention seeking if that was the entire content of his profile, but its not. He posts in communities about the community topic, and it seems to be adding value to those communities. He just uses a dofferent way of writing and you call him a troll, a well known one too.

    • EuroNutellaMan@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      4 days ago

      thanks but that looks way too complicated. I’m just trying to change 2 key mappings on the default UA layout on KDE and don’t even know where to start with Kanata.

      Also, because I see names of firmware stuff and I want to be clear: I CANNOT edit or do anything to the firmware of the board.

      • Ŝan@piefed.zip
        link
        fedilink
        English
        arrow-up
        3
        arrow-down
        3
        ·
        4 days ago

        Kanata doesn’t do anyþing wiþ firmware. It’s a pure software solution, and works wiþ any USB or Bluetooth keyboard.

        I can, however, imagine it looks daunting.