Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Spanish Latam Keyboard support in Xorg - Linux #30

Open
germefur opened this issue Aug 17, 2021 · 1 comment
Open

Spanish Latam Keyboard support in Xorg - Linux #30

germefur opened this issue Aug 17, 2021 · 1 comment

Comments

@germefur
Copy link

Hi, this keyboard don't have latam support, so i made it.
Hola, este teclado no tiene soporte latam, asi que lo hice.

I have tested it all, and it works in any Xorg session
Lo he testeado todo, y funciona en cualquier sesion de Xorg

to install it, copy this in the end of your latam file, in
/usr/share/X11/xkb/symbols/latam

para instalarlo, copia esto al final de tu archivo latam, en
/usr/share/X11/xkb/symbols/latam

copy this ↓ copia esto ↓



// Latin American Spanish Halmak mapping (by Germe-fur)
// original halmak layout in https://github.com/MadRabbit/halmak/
// star his repo ;)
partial alphanumeric_keys
xkb_symbols "halmak" {

    name[Group1]="Spanish (Latin American, Halmak)";

    key <TLDE> {[          bar, degree,             notsign,      notsign ]};
    key <AE01> {[            1, apostrophe,             bar,   exclamdown ]};
    key <AE02> {[            2, quotedbl,                at,    oneeighth ]};
    key <AE03> {[            3, numbersign,  periodcentered,     sterling ]};
    key <AE04> {[            4, dollar,          asciitilde,       dollar ]};
    key <AE05> {[            5, percent,            onehalf, threeeighths ]};
    key <AE06> {[            6, ampersand,          notsign,  fiveeighths ]};
    key <AE07> {[            7, slash,            braceleft, seveneighths ]};
    key <AE08> {[            8, parenleft,      bracketleft,    trademark ]};
    key <AE09> {[            9, parenright,    bracketright,    plusminus ]};
    key <AE10> {[            0, equal,           braceright,       degree ]};
    key <AE11> {[       exclam, exclamdown,       backslash, questiondown ]};
    key <AE12> {[     question, questiondown,  dead_cedilla,  dead_ogonek ]};

    key <AD01> {[          w, W,             U2018,          U201C ]};
    key <AD02> {[          l, L,              cent,      copyright ]};
    key <AD03> {[          r, R,        registered,      trademark ]};
    key <AD04> {[          b, B,             U2022,          U03B2 ]};
    key <AD05> {[          z, Z,             U0292,          U01B7 ]};
    key <AD06> {[     ntilde, Ntilde,   asciitilde,          U02EE ]};
    key <AD07> {[          q, Q,             U2039,  guillemotleft ]};
    key <AD08> {[          u, U,            ubreve,      Ubreve ]};
    key <AD09> {[          d, D,             U203A, guillemotright ]};
    key <AD10> {[          j, J,          jcircumflex, Jcircumflex ]};
    key <AD11> {[ dead_acute, dead_diaeresis, dead_diaeresis, dead_abovering ]};
    key <AD12> {[       plus, asterisk, asciitilde,    dead_macron ]};

    key <AC01> {[          s, S,     scircumflex,      Scircumflex ]};
    key <AC02> {[          h, H,     hcircumflex,      Hcircumflex ]};
    key <AC03> {[          n, N,          hyphen,            U2190 ]};
    key <AC04> {[          t, T,           thorn,            THORN ]};
    key <AC05> {[      comma, semicolon,  hyphen,         multiply ]};
    key <AC06> {[     period, colon,       U0323,         division ]};
    key <AC07> {[          a, A,              ae,               AE ]};
    key <AC08> {[          e, E,        EuroSign,            U2191 ]};
    key <AC09> {[          o, O,           U00BA,            U00AA ]};
    key <AC10> {[          i, I,           U2015,            U2192 ]};
    key <AC11> {[  braceleft, bracketleft, dead_circumflex,  braceleft ]};
    key <BKSL> {[ braceright, bracketright,     dead_grave, braceright ]};

    key <LSGT> {[     less, greater,        bar,       U00A6 ]};
    key <AB01> {[        f, F,            U2019,       U201D ]};
    key <AB02> {[        m, M,         multiply,       U2193 ]};
    key <AB03> {[        v, V,         division,       U03B3 ]};
    key <AB04> {[        c, C,      ccircumflex, Ccircumflex ]};
    key <AB05> {[    minus, underscore                       ]};
    key <AB06> {[        g, G,      gcircumflex, Gcircumflex ]};
    key <AB07> {[        p, P,            U2293,   paragraph ]};
    key <AB08> {[        x, X,            U2020,       U2021 ]};
    key <AB09> {[        k, K,            U00E7,       U00C7 ]};
    key <AB10> {[        y, Y             ]};

    include "level3(ralt_switch)"
};


to activate it, run
para activarlo, corre

setxkbmap -model pc105 -layout latam\(halmak\)

a personal improvement is activate caps:backspace, that converts your (unused) caps lock key to a backspace.
and allow it to repeat (the xset at the end)
una mejora personal es activar caps:backspace, que convierte tu (sin uso) tecla bloq mayus en un retroceso.
y permitirle la repetición (el xset al final)

setxkbmap -model pc105 -layout latam\(halmak\) -option caps:backspace && xset r 66

uninstall - desinstalar

to uninstall it, just delete the code you have pasted in your latam file
para desinstalarlo, solo borra el codigo que pegaste en tu archivo latam

Note: you must run the command to apply every session, but you can automate it, writing the command in ~/.xprofile
Nota: deberas correr el comando para aplicar cada sesion, pero puedes automatizarlo escribiendo el comando en ~/.xprofile

@moshpirit
Copy link

moshpirit commented Jul 14, 2024

Does using the same layout as in English make sense when it's "Build based on the real world hand movements analysis" (using English words)? Shouldn't the Spanish layout be build using the real world hand movements with Spanish words?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants