Skip to content

Commit

Permalink
x11: add input configuration, add international keyboard layout
Browse files Browse the repository at this point in the history
Signed-off-by: VirtualTam <virtualtam@flibidi.net>
  • Loading branch information
virtualtam committed Feb 15, 2021
1 parent 5e50e17 commit 5005f52
Show file tree
Hide file tree
Showing 7 changed files with 159 additions and 0 deletions.
18 changes: 18 additions & 0 deletions KeyboardLayouts.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
Keyboard Layouts
================

Western European keyboard with AltGr dead keys
----------------------------------------------

- `Writing non-English languages with a QWERTY keyboard <https://choam.eu/altgr-intl/>`_
- `Xorg: Using the US International (altgr-intl variant) Keyboard Layout <https://zuttobenkyou.wordpress.com/2011/08/24/xorg-using-the-us-international-altgr-intl-variant-keyboard-layout/>`_
- `cjuniet/altgr-weur <https://github.com/cjuniet/altgr-weur>`_ version for Microsoft Keyboard Layout Editor

Related configuration files:

- ``/usr/share/X11/xkb/symbols/usaltgrweur`` adds the layout to X11 keyboard
definitions
- ``/etc/X11/xorg.conf.d/40-yd60mq.conf`` provides the corresponding
configuration for the YMDK YD60MQ keyboard
- ``/etc/X11/xorg.conf.d/41-dz60.conf`` provides the corresponding configuration
for the KBDFans DZ60 keyboard
1 change: 1 addition & 0 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ They're revolving around the following elements:
Additional resources:

- `Theming <Theming.rst>`_
- `Keyboard Layouts <KeyboardLayouts.rst>`_

Un(used|maintained)
~~~~~~~~~~~~~~~~~~~
Expand Down
5 changes: 5 additions & 0 deletions etc/X11/xorg.conf.d/20-amdgpu.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Section "Device"
Identifier "AMD"
Driver "amdgpu"
Option "TearFree" "true"
EndSection
37 changes: 37 additions & 0 deletions etc/X11/xorg.conf.d/40-libinput.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Match on all types of devices but tablet devices and joysticks
Section "InputClass"
Identifier "libinput pointer catchall"
MatchIsPointer "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
EndSection

Section "InputClass"
Identifier "libinput keyboard catchall"
MatchIsKeyboard "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
Option "XkbLayout" "fr"
Option "XkbOptions" "compose:rctrl"
EndSection

Section "InputClass"
Identifier "libinput touchpad catchall"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
EndSection

Section "InputClass"
Identifier "libinput touchscreen catchall"
MatchIsTouchscreen "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
EndSection

Section "InputClass"
Identifier "libinput tablet catchall"
MatchIsTablet "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
EndSection
12 changes: 12 additions & 0 deletions etc/X11/xorg.conf.d/40-yd60mq.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
Section "InputClass"
Identifier "YMDK YD60MQ Keyboard"
MatchVendor "YMDK"
MatchProduct "YD60MQ"
MatchIsKeyboard "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
Option "XkbLayout" "usaltgrweur"
#Option "XkbLayout" "us"
#Option "XkbVariant" "altgr-intl"
Option "XkbOptions" "compose:rctrl"
EndSection
12 changes: 12 additions & 0 deletions etc/X11/xorg.conf.d/41-dz60.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
Section "InputClass"
Identifier "KBDFans DZ60 Keyboard"
MatchVendor "KBDFans"
MatchProduct "DZ60"
MatchIsKeyboard "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
Option "XkbLayout" "usaltgrweur"
#Option "XkbLayout" "us"
#Option "XkbVariant" "altgr-intl"
Option "XkbOptions" "compose:rctrl"
EndSection
74 changes: 74 additions & 0 deletions usr/share/X11/xkb/symbols/usaltgrweur
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
// A number of people from different countries started using the
// altgr-intl layout. It appears that the original Microsoft
// International (with dead keys) layout was not developed with any
// particular language in mind. Altgr-intl is based on that layout.

// This layout (altgr-weur) is based on combined letter frequencies
// for English, German, Dutch, French, Spanish, Portugese, Italian,
// Danish, Norwegian, Swedish and Finnish: all accented characters for
// those languages are available through AltGr- combinations. Further
// explanation can be found at: https://www.choam.eu/altgr-intl/ -
// Adriaan and Enno

partial alphanumeric_keys
xkb_symbols "altgr-weur" {

name[Group1]= "English (Western European AltGr dead keys)";

include "us(intl)"

key <TLDE> { [ grave, asciitilde, dead_grave, dead_tilde ] };
key <AE01> { [ 1, exclam, onesuperior, exclamdown ] };
key <AE02> { [ 2, at, twosuperior, onehalf ] };
key <AE03> { [ 3, numbersign, threesuperior, threequarters ] };
key <AE04> { [ 4, dollar, sterling, onequarter ] };
key <AE05> { [ 5, percent, EuroSign, cent ] };
key <AE06> { [ 6, asciicircum, dead_circumflex, dead_circumflex ] };
key <AE07> { [ 7, ampersand, scaron, Scaron ] };
key <AE08> { [ 8, asterisk, zcaron, Zcaron ] };
key <AE09> { [ 9, parenleft, leftsinglequotemark, currency ] };
key <AE10> { [ 0, parenright, rightsinglequotemark, yen ] };
key <AE11> { [ minus, underscore, ssharp, ssharp ] };
key <AE12> { [ equal, plus, multiply, division ] };

key <AD01> { [ q, Q, atilde, Atilde ] };
key <AD02> { [ w, W, adiaeresis, Adiaeresis ] };
key <AD03> { [ e, E, eacute, Eacute ] };
key <AD04> { [ r, R, egrave, Egrave ] };
key <AD05> { [ t, T, oslash, Oslash ] };
key <AD06> { [ y, Y, ugrave, Ugrave ] };
key <AD07> { [ u, U, uacute, Uacute ] };
key <AD08> { [ i, I, iacute, Iacute ] };
key <AD09> { [ o, O, oacute, Oacute ] };
key <AD10> { [ p, P, ograve, Ograve ] };
key <AD11> { [ bracketleft, braceleft, guillemotleft, leftdoublequotemark ] };
key <AD12> { [bracketright, braceright, guillemotright, rightdoublequotemark ] };

key <AC01> { [ a, A, aacute, Aacute ] };
key <AC02> { [ s, S, agrave, Agrave ] };
key <AC03> { [ d, D, ediaeresis, Ediaeresis ] };
key <AC04> { [ f, F, ecircumflex, Ecircumflex ] };
key <AC05> { [ g, G, ucircumflex, Ucircumflex ] };
key <AC06> { [ h, H, igrave, Igrave ] };
key <AC07> { [ j, J, udiaeresis, Udiaeresis ] };
key <AC08> { [ k, K, idiaeresis, Idiaeresis ] };
key <AC09> { [ l, L, odiaeresis, Odiaeresis ] };
key <AC10> { [ semicolon, colon, ocircumflex, Ocircumflex ] };
key <AC11> { [apostrophe, quotedbl, dead_acute, dead_diaeresis ] };

key <AB01> { [ z, Z, aring, Aring ] };
key <AB02> { [ x, X, ae, AE ] };
key <AB03> { [ c, C, ccedilla, Ccedilla ] };
key <AB04> { [ v, V, acircumflex, Acircumflex ] };
key <AB05> { [ b, B, icircumflex, Icircumflex ] };
key <AB06> { [ n, N, ntilde, Ntilde ] };
key <AB07> { [ m, M, otilde, Otilde ] };
key <AB08> { [ comma, less, dead_cedilla, dead_cedilla ] };
key <AB09> { [ period, greater, oe, OE ] };
key <AB10> { [ slash, question, questiondown, degree ] };
key <BKSL> { [ backslash, bar, notsign, brokenbar ] };

key <LSGT> { [ backslash, bar, backslash, bar ] };

include "level3(ralt_switch)"
};

0 comments on commit 5005f52

Please sign in to comment.