Skip to content

Instantly share code, notes, and snippets.

@lnksz
Created February 6, 2023 06:04
Show Gist options
  • Save lnksz/206d8999f1bbb26392a4c9915e730582 to your computer and use it in GitHub Desktop.
Save lnksz/206d8999f1bbb26392a4c9915e730582 to your computer and use it in GitHub Desktop.
Havasi custom keyboard layout
default partial alphanumeric_keys modifier_keys
xkb_symbols "basic" {
include "us(intl)"
name[Group1]= "Havasi (US)";
// From altgr-intl
key <TLDE> { [ grave, asciitilde, dead_grave, dead_tilde ] };
key <AC11> { [apostrophe,quotedbl, dead_acute, dead_diaeresis ] };
// Room for more AltGr
key <AD04> { [ r, R, VoidSymbol, VoidSymbol ] };
key <AC07> { [ j, J, VoidSymbol, VoidSymbol ] };
key <AB02> { [ x, X, VoidSymbol, VoidSymbol ] };
key <AB04> { [ v, V, VoidSymbol, VoidSymbol ] };
// R-GO keyboard remedy layout deficits
// The missing Home, End, PgUp, PgDn are mapped to Fn 1,2,3,4
// but the Fn key is hard to reach so map them to AtlGr 1/2/3/4
key <AE01> { [ 1, exclam, Home, exclamdown ] };
key <AE02> { [ 2, at, End, dead_doubleacute ] };
key <AE03> { [ 3, numbersign, Page_Up, dead_macron ] };
key <AE04> { [ 4, dollar, Page_Down, sterling ] };
// us(intl) has acute on vowels per default but in Germany aeresis is needed
// acute : á
// aeresis : ä
key <AD01> { [ q, Q, aacute, Aacute ] };
key <AC01> { [ a, A, adiaeresis, Adiaeresis ] };
key <AD07> { [ u, U, udiaeresis, Udiaeresis ] };
key <AD06> { [ y, Y, uacute, Uacute ] };
key <AD09> { [ o, O, odiaeresis, Odiaeresis ] };
key <AD10> { [ p, P, oacute, Oacute ] };
// Normalize ^ & *
key <AE06> { [ 6, asciicircum, dead_circumflex, VoidSymbol ] };
key <AE07> { [ 7, ampersand, VoidSymbol, VoidSymbol ] };
key <AE08> { [ 8, asterisk, VoidSymbol, VoidSymbol ] };
key <AB04> { [ v, V, asciicircum, V ] };
// HUN í, GER <> key
key <LSGT> { [ underscore, minus, exclam, asciicircum ] };
// Move programming related stuff into the middle
key <AC04> { [ f, F, equal, plus ] };
// Caps Lock comfort
key <CAPS> { [ Control_L, Escape, Caps_Lock, BackSpace ] };
modifier_map Control { <CAPS> };
include "level3(ralt_switch)"
};
@lnksz
Copy link
Author

lnksz commented Feb 6, 2023

A snapshot from my dotfiles...

A new entry in /usr/share/X11/xkb/rules/evdev.xml is needed, then setxkbmap -layout hk

@lnksz
Copy link
Author

lnksz commented Feb 6, 2023

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment