add fox layout

Rachel Lambda Samuelsson 2023-10-19 00:55:27 +02:00
parent 707e3a3738
commit 646ab704ed
3 changed files with 79 additions and 2 deletions

View File

@ -56,6 +56,7 @@
rachel-home-module
];
};
keyboardLayout.fox = ./shared/fox.xkb;
};
}

View File

@ -110,12 +110,17 @@
desktopManager.plasma5.enable = true;
displayManager.startx.enable = true;
xkbOptions = "grp:alt_caps_toggle";
layout = "sus";
layout = "sus,fox";
extraLayouts.sus = {
description = "Swedish US";
languages = [ "se" ];
symbolsFile = ../shared/sus.xkb;
};
extraLayouts.fox = {
description = "Layout suitable to be used by a fox";
languages = [ "se" ];
symbolsFile = ../shared/fox.xkb;
};
libinput = {
enable = true;
touchpad = {

71
shared/fox.xkb 100644
View File

@ -0,0 +1,71 @@
partial modifier_keys
xkb_symbols "fox" {
include "pc"
include "se(dvorak)"
key <LALT> {
type[Group1]="ONE_LEVEL",
symbols[Group1] = [ ISO_Level3_Shift ]
};
modifier_map Mod5 { ISO_Level3_Shift };
replace key <RTSH> {[ Alt_L, Alt_L, Alt_L, Alt_L ]};
modifier_map Shift { <LFSH> };
modifier_map Mod1 { <RTSH> };
key <TLDE> {[ U1F408, U1F431, U1F408, U1F431 ]};
key <AE01> {[ 1, ampersand ]};
key <AE02> {[ 2, quotedbl, at ]};
key <AE03> {[ 3, numbersign ]};
key <AE04> {[ 4, dollar ]};
key <AE05> {[ 5, percent, infinity ]};
key <AE06> {[ 6, asciitilde ]};
key <AE07> {[ 7, notsign, U21D0, because ]};
key <AE08> {[ 8, U1F449, ifonlyif, U1F97A ]};
key <AE09> {[ 9, U1F448, implies, therefore ]};
key <AE10> {[ 0, equal, notequal, approximate ]};
key <AE11> {[ plus, asterisk, caret, underscore ]};
key <AE12> {[ minus, slash, bar, backslash ]};
key <AD01> {[ aring, Aring, U1F4EE, Sinh_ng2 ]};
key <AD02> {[ odiaeresis, Odiaeresis ]};
key <AD03> {[ adiaeresis, Adiaeresis ]};
key <AD04> {[ p, P ]};
key <AD05> {[ y, Y ]};
key <AD06> {[ f, F ]};
key <AD07> {[ g, G ]};
key <AD08> {[ c, C ]};
key <AD09> {[ r, R ]};
key <AD10> {[ l, L ]};
key <AD11> {[ parenleft, less, bracketleft, braceleft ]};
key <AD12> {[ parenright, greater, bracketright, braceright ]};
key <AC01> {[ a, A ]};
key <AC02> {[ o, O ]};
key <AC03> {[ e, E ]};
key <AC04> {[ u, U ]};
key <AC05> {[ i, I ]};
key <AC06> {[ d, D ]};
key <AC07> {[ h, H ]};
key <AC08> {[ t, T ]};
key <AC09> {[ n, N ]};
key <AC10> {[ s, S ]};
key <AC11> {[ exclam, question, exclamdown, questiondown ]};
key <BKSL> {[ apostrophe, grave, emdash ]};
key <LSGT> {[ comma, semicolon ]};
key <AB01> {[ period, colon ]};
key <AB02> {[ q, Q ]};
key <AB03> {[ j, J ]};
key <AB04> {[ k, K ]};
key <AB05> {[ x, X ]};
key <AB06> {[ b, B ]};
key <AB07> {[ m, M ]};
key <AB08> {[ w, W ]};
key <AB09> {[ v, V ]};
key <AB10> {[ z, Z ]};
};