diff --git a/README.md b/README.md index 02b984e..8a1a6bb 100644 --- a/README.md +++ b/README.md @@ -100,36 +100,37 @@ VERY important -> do not make apt update & upgrade before THIS. If not, you will * Add the repository key +``` wget http://gemian.thinkglobally.org/archive-key.asc sudo apt-key add archive-key.asc - +``` * Disable SSL check for gemian.thinkglobally.org In case the Let's Encrypt certificate has expired on 30 September and very old version on OpenSSL in the Stetch apt can't validate the repo certifcate. So you need to disable certificate checking for the repo. - +``` sudo nano /etc/apt/apt.conf.d/99disablesslcheck Acquire::https::gemian.thinkglobally.org::Verify-Host "false"; Acquire::https::gemian.thinkglobally.org::Verify-Peer "false"; - +``` * Upgrade the system - +``` sudo apt update sudo apt install apt-transport-https sudo apt upgrade - +``` ## DEBIAN 9 Security updates and backports - Edit the apt config : - +``` $ sudo nano /etc/apt/sources.list.d/multistrap-debian.list - +``` - Add following to the end: - +``` deb [arch=arm64] http://security.debian.org/debian-security stretch/updates main contrib non-free deb [arch=arm64] http://http.debian.net/debian stretch-backports main contrib non-free - +``` ## Disable Wifi MAC generation Since Android is generating a new mac address for your wifi interface at every reboot and Connman is storing the mac address in its services you would need to enter your wifi passwords every time you reboot. @@ -145,36 +146,36 @@ This will lock down the mac address. ## WiFi eats battery whilst sleeping You need to install connman-plugin-suspend-wmtwifi to avoid this: - +``` sudo apt install connman-plugin-suspend-wmtwifi - +``` Turns out this plugin just stops the repeated re-connection's to wifi. It still eats lots of battery. ## Libreoffice Due to some peculiarity in the system image creation by multistrap our libreoffice installs get their diverts muddled, if you get an issue on upgrading with it complaining about libreoffice do the following: - +``` cd /var/cache/apt/archives sudo dpkg --force-all -i libreoffice*.deb - +``` This basically forces a reinstall of all the libreoffice debian packages. ## i3 - +``` sudo apt install i3 sudo apt install fonts-font-awesome libjson-perl - +``` ## Non-latin characters and meta mepped keys For keyboard that have both Latin and native characters you pick your language variant, eg for Gemini Russia (Cyrillic): - +``` setxkbmap -model planetgemini -layout ru - +``` But there is a bug in symbols mapping, so you need to fix it manually (but maybe fix already in the image): - +``` sudo vim /usr/share/X11/xkb/symbols/planet_vndr/gemini - +``` Replace word `backslash` to `slash` in lines 377 and 388 with: ``` - key { symbols[Group1] = [ Cyrillic_de, Cyrillic_DE, backslash, Lstroke ] }; @@ -191,14 +192,14 @@ And second thing with mapping - You then have two groups working with simultaneous pressing of both left and right shift keys being how you swap between which is the active group. -## Used sources - - -##Installing an NTP client +## Installing an NTP client Let us configure the NTP client to be time synced with the NTP server. For this, you have to install the ntpd daemon on the client machine. - +``` apt-get install ntpdate +``` + +## Used sources * https://www.oesf.org/forum/index.php?topic=36209.0 * https://support.planetcom.co.uk/index.php/Linux_Flashing_Guide diff --git a/configs/etc/default/keyboard b/configs/etc/default/keyboard new file mode 100644 index 0000000..3cf76ef --- /dev/null +++ b/configs/etc/default/keyboard @@ -0,0 +1,10 @@ +# KEYBOARD CONFIGURATION FILE + +# Consult the keyboard(5) manual page. + +XKBMODEL="planetgemini" +XKBLAYOUT="ru" +XKBVARIANT="" +XKBOPTIONS="" + +BACKSPACE="guess" diff --git a/configs/usr/share/X11/xkb/symbols/planet_vndr/gemini b/configs/usr/share/X11/xkb/symbols/planet_vndr/gemini new file mode 100755 index 0000000..c9138f2 --- /dev/null +++ b/configs/usr/share/X11/xkb/symbols/planet_vndr/gemini @@ -0,0 +1,1257 @@ + +partial hidden alphanumeric_keys modifier_keys +xkb_symbols "modifiers" { + key { [ISO_Level3_Shift ] }; + modifier_map Mod5 { ISO_Level3_Shift }; + +}; + +partial hidden alphanumeric_keys +xkb_symbols "common_keys" { + key { [ Escape, Escape, XF86Sleep, XF86PowerDown ] }; + key { [ BackSpace, Delete, XF86Tools ] }; + key { [ Tab, ISO_Left_Tab, Caps_Lock ] }; + key { [ Up, Up, Prior, Prior ] }; + key { [ space, space, XF86AudioRecord, nobreakspace ] }; + key { [ Left, Left, Home, Home ] }; + key { [ Down, Down, Next, Next ] }; + key { [ Right, Right, End, End ] }; +}; + +partial hidden alphanumeric_keys +xkb_symbols "escape" { + // Reset keys to nonsense that we don't expect to appear on gemini keyboard maps + key { [ XF86CD ] }; //clashes with XF86AudioMute + key { [ XF86CD ] }; //clashes with XF86AudioLowerVolume + key { [ XF86CD ] }; //clashes with XF86AudioRaiseVolume + key { [ XF86CD ] }; //clashes with XF86AudioPlay + key { [ XF86CD ] }; //clashes with XF86AudioPlay + key { [ XF86CD ] }; //clashes with XF86AudioPlay + key { [ XF86CD ] }; //clashes with XF86AudioPrev + key { [ XF86CD ] }; //clashes with XF86AudioNext + key { [ XF86CD ] }; //clashes with Print + key { [ XF86CD ] }; //clashes with Print + key { [ XF86CD ] }; //clashes with XF86MonBrightnessDown + key { [ XF86CD ] }; //clashes with XF86MonBrightnessUp + key { [ XF86CD ] }; //clashes with XF86TaskPane + key { [ XF86CD ] }; //clashes with XF86Tools + key { [ XF86CD ] }; //clashes with XF86Tools + key { [ XF86CD ] }; //clashes with XF86Sleep + key { [ XF86CD ] }; //clashes with XF86Send (I239 from kernel not mapped) + key { [ XF86CD ] }; //clashes with XF86AudioRecord + +}; + +default partial alphanumeric_keys +xkb_symbols "gb" { + include "planet_vndr/gemini(modifiers)" + include "planet_vndr/gemini(common_keys)" + + name[Group1]="Gemini English (UK)"; + + key { [ 1, exclam, bar, F1 ] }; + key { [ 2, quotedbl, numbersign, F2 ] }; + key { [ 3, sterling, backslash, F3 ] }; + key { [ 4, dollar, EuroSign, F4 ] }; + key { [ 5, percent, less, F5 ] }; + key { [ 6, asciicircum, greater, F6 ] }; + key { [ 7, ampersand, bracketleft, F7 ] }; + key { [ 8, asterisk, bracketright, F8 ] }; + key { [ 9, parenleft, braceleft, F9 ] }; + key { [ 0, parenright, braceright, F10 ] }; + + key { [ q, Q,XF86AudioPlay, Greek_OMEGA ] }; + key { [ w, W,XF86AudioPrev, Lstroke ] }; + key { [ e, E,XF86AudioNext, trademark ] }; + key { [ r, R, Print, registered ] }; + key { [ t, T,XF86AudioMute, yen ] }; + key { [ y, Y, leftarrow, rightarrow ] }; + key { [ u, U, downarrow, uparrow ] }; + key { [ i, I, plus, plusminus ] }; + key { [ o, O, minus, Ooblique ] }; + key { [ p, P, equal, THORN ] }; + + key { [ a, A, XF86TaskPane, AE ] }; + key { [ s, S, ssharp, section ] }; + key { [ d, D, XF86TopMenu, ETH ] }; + key { [ f, F, XF86UWB, ordfeminine ] }; + key { [ g, G, eng, ENG ] }; + key { [ h, H, division, dead_diaeresis ] }; + key { [ j, J, underscore, dead_circumflex ] }; + key { [ k, K, at, degree ] }; + key { [ l, L, semicolon, dead_caron ] }; + key { [apostrophe, asciitilde, colon, dead_acute ] }; + + key { [ z, Z, guillemotleft, dead_belowdot ] }; + key { [ x, X, guillemotright, dead_abovedot ] }; + key { [ c, C, XF86AudioLowerVolume, copyright ] }; + key { [ v, V, XF86AudioRaiseVolume, leftsinglequotemark ] }; + key { [ b, B,XF86MonBrightnessDown, rightsinglequotemark ] }; + key { [ n, N, XF86MonBrightnessUp, exclamdown ] }; + key { [ m, M, grave, dead_grave ] }; + key { [ period, question, U263A, dead_tilde ] }; + + key { [ comma, slash, XF86Option, multiply ] }; +}; + +default partial alphanumeric_keys +xkb_symbols "ie" { + include "planet_vndr/gemini(gb)" + + name[Group1]="Gemini English (ROI)"; +}; + + +default partial alphanumeric_keys +xkb_symbols "us" { + include "planet_vndr/gemini(gb)" + + name[Group1]="Gemini English (US)"; + + key { [ 1, exclam, asciitilde, F1 ] }; + key { [ 2, at, grave, F2 ] }; + key { [ 3, numbersign, sterling, F3 ] }; + + key { [ k, K, semicolon, degree ] }; + key { [ l, L, quotedbl, dead_caron ] }; + key { [ backslash, bar, colon, dead_acute ] }; + + key { [ m, M, apostrophe, dead_grave ] }; + +}; + +default partial alphanumeric_keys +xkb_symbols "se" { + include "planet_vndr/gemini(gb)" + + name[Group1]="Gemini Swedish"; + + key { [ 1, exclam, section, F1 ] }; + key { [ 2, quotedbl, at, F2 ] }; + key { [ 3, numbersign, sterling, F3 ] }; + key { [ 4, currency, dollar, F4 ] }; + key { [ 5, percent, EuroSign, F5 ] }; + key { [ 6, ampersand, asterisk, F6 ] }; + key { [ 7, slash, braceleft, F7 ] }; + key { [ 8, parenleft, bracketleft, F8 ] }; + key { [ 9, parenright, bracketright, F9 ] }; + key { [ 0, equal, braceright, F10 ] }; + + key { [ r, R, dead_circumflex, registered ] }; + key { [ t, T,XF86AudioMute, thorn ] }; + key { [ y, Y, plus, plusminus ] }; + key { [ u, U, minus, udiaeresis ] }; + key { [ i, I, grave, idotless ] }; + key { [ o, O, question, oslash ] }; + key { [ p, P, aring, Aring ] }; + + key { [ a, A, XF86TaskPane, ae ] }; + key { [ s, S, asciitilde, dead_tilde ] }; + key { [ g, G, underscore, degree ] }; + key { [ j, J, less, guillemotleft ] }; + key { [ k, K, greater, guillemotright ] }; + key { [ l, L, backslash, dead_stroke ] }; + key { [odiaeresis, Odiaeresis, adiaeresis, Adiaeresis ] }; + + key { [ z, Z, ezh, EZH ] }; + key { [ x, X, bar, multiply ] }; + key { [ m, M, apostrophe, dead_acute ] }; + key { [ period, colon, U263A, division ] }; + + key { [ comma, semicolon, XF86Option, dead_diaeresis ] }; +}; + +default partial alphanumeric_keys +xkb_symbols "fi" { + include "planet_vndr/gemini(se)" + + name[Group1]="Gemini Finnish"; +}; + +default partial alphanumeric_keys +xkb_symbols "de" { + include "planet_vndr/gemini(gb)" + + name[Group1]="Gemini German"; + + key { [ 1, exclam, asciitilde, F1 ] }; + key { [ 3, U00A7, backslash, F3 ] }; + key { [ 6, ampersand, greater, F6 ] }; + key { [ 7, slash, braceleft, F7 ] }; + key { [ 8, parenleft, bracketleft, F8 ] }; + key { [ 9,parenright, bracketright, F9 ] }; + key { [ 0, equal, braceright, F10 ] }; + + key { [ r, R, bar, registered ] }; + key { [ z, Z, Print, less ] }; + key { [ u, U, U00FC, U00DC ] }; + key { [ i, I, grave, plusminus ] }; + key { [ o, O, U00F6, U00D6 ] }; + key { [ p, P, equal, XF86TaskPane ] }; + + key { [ a, A, U00E4, U00C4 ] }; + key { [ s, S, ssharp, section ] }; + key { [ g, G, underscore, ENG ] }; + key { [ j, J, apostrophe, dead_horn ] }; + key { [ k, K, minus, degree ] }; + key { [ l, L, plus, Lstroke ] }; + key { [ question, asterisk, at, dead_caron ] }; + + key { [ y, Y, asciicircum, less ] }; + key { [ x, X, degree, greater ] }; + key { [ m, M, Greek_mu, U039C ] }; + key { [ period, colon, U263A, division ] }; + + key { [ comma, semicolon, XF86Option, multiply ] }; +}; + +default partial alphanumeric_keys +xkb_symbols "at" { + include "planet_vndr/gemini(de)" + + name[Group1]="Gemini Austrian"; +}; + +default partial alphanumeric_keys +xkb_symbols "fr" { + include "planet_vndr/gemini(modifiers)" + include "planet_vndr/gemini(common_keys)" + + name[Group1]="Gemini French"; + + key { [ ampersand, 1, asciitilde, F1 ] }; + key { [ eacute, 2, numbersign, F2 ] }; + key { [ quotedbl, 3, backslash, F3 ] }; + key { [apostrophe, 4, EuroSign, F4 ] }; + key { [ parenleft, 5, parenright, F5 ] }; + key { [ minus, 6, plus, F6 ] }; + key { [ egrave, 7, bracketleft, F7 ] }; + key { [underscore, 8, bracketright, F8 ] }; + key { [ ccedilla, 9, asciicircum, F9 ] }; + key { [ agrave, 0, equal, F10 ] }; + + key { [ a, A,XF86AudioPlay, AE ] }; + key { [ z, Z,XF86AudioPrev, less ] }; + key { [ e, E,XF86AudioNext, cent ] }; + key { [ r, R, bar, registered ] }; + key { [ t, T,XF86AudioMute, yen ] }; + key { [ y, Y, NoSymbol, rightarrow ] }; + key { [ u, U, braceleft, uparrow ] }; + key { [ i, I, braceright, plusminus ] }; + key { [ o, O, dollar, Ooblique ] }; + key { [ p, P, asterisk, THORN ] }; + + key { [ q, Q, XF86TaskPane, dead_doubleacute ] }; + key { [ s, S, section, notsign ] }; + key { [ d, D, XF86TopMenu, dead_breve ] }; + key { [ f, F, XF86UWB, dead_abovering ] }; + key { [ g, G, underscore, dead_macron ] }; + key { [ h, H, Print, dead_diaeresis ] }; + key { [ j, J, percent, dead_circumflex ] }; + key { [ k, K, exclam, exclamdown ] }; + key { [ l, L, at, dead_caron ] }; + key { [ m, M, mu, dead_acute ] }; + + key { [ w, W, less, guillemotleft ] }; + key { [ x, X, greater, guillemotright ] }; + key { [ c, C, XF86AudioLowerVolume, copyright ] }; + key { [ v, V, XF86AudioRaiseVolume, dead_belowdot ] }; + key { [ b, B,XF86MonBrightnessDown, dead_abovedot ] }; + key { [ n, N, XF86MonBrightnessUp, degree ] }; + key { [ semicolon, period, grave, dead_grave ] }; + key { [ colon, slash, U263A, dead_tilde ] }; + + key { [ comma, question, XF86Option, multiply ] }; +}; + +default partial alphanumeric_keys +xkb_symbols "be" { + include "planet_vndr/gemini(fr)" + + name[Group1]="Gemini Belgian"; +}; + +default partial alphanumeric_keys +xkb_symbols "pt" { + include "planet_vndr/gemini(gb)" + + name[Group1]="Gemini Portuguese"; + + key { [ 1, exclam, bar, F1 ] }; + key { [ 2, quotedbl, at, F2 ] }; + key { [ 3, numbersign, sterling, F3 ] }; + key { [ 4, dollar, asciitilde, F4 ] }; + key { [ 5, percent, EuroSign, F5 ] }; + key { [ 6, ampersand, asterisk, F6 ] }; + key { [ 7, slash, braceleft, F7 ] }; + key { [ 8, parenleft, bracketleft, F8 ] }; + key { [ 9, parenright, bracketright, F9 ] }; + key { [ 0, equal, braceright, F10 ] }; + + key { [ y, Y, U00A2, yen ] }; + key { [ u, U, plus, uparrow ] }; + key { [ i, I, minus, plusminus ] }; + key { [ o, O, question, Ooblique ] }; + key { [ p, P, apostrophe, grave ] }; + + key { [ s, S, backslash, section ] }; + key { [ g, G, asciicircum, ENG ] }; + key { [ h, H, U226A, Hstroke ] }; + key { [ j, J, U226B, dead_horn ] }; + key { [ k, K, underscore, degree ] }; + key { [ l, L, U00BA, Lstroke ] }; + key { [ U00E7, U00C7, U00AA, dead_caron ] }; + + key { [ z, Z, less, less ] }; + key { [ x, X, greater, greater ] }; + key { [ m, M, U20A2, masculine ] }; + key { [ period, colon, U263A, division ] }; + + key { [ comma, semicolon, XF86Option, multiply ] }; +}; + +default partial alphanumeric_keys +xkb_symbols "ru" { + include "planet_vndr/gemini(modifiers)" + include "planet_vndr/gemini(common_keys)" + include "group(shifts_toggle)" + + name[Group1] = "Gemini English"; + name[Group2] = "Gemini Russian"; + + // 1. row + key { symbols[Group2] = [ 1, exclam, at, F1 ] }; + key { symbols[Group2] = [ 2, quotedbl, numbersign, F2 ] }; + key { symbols[Group2] = [ 3, sterling, backslash, F3 ] }; + key { symbols[Group2] = [ 4, dollar, EuroSign, F4 ] }; + key { symbols[Group2] = [ 5, percent, less, F5 ] }; + key { symbols[Group2] = [ 6, asciicircum, greater, F6 ] }; + key { symbols[Group2] = [ 7, ampersand, bracketleft, F7 ] }; + key { symbols[Group2] = [ 8, asterisk, bracketright, F8 ] }; + key { symbols[Group2] = [ 9, parenleft, braceleft, F9 ] }; + key { symbols[Group2] = [ 0, parenright, braceright, F10 ] }; + + key { symbols[Group1] = [ 1, exclam, at, F1 ] }; + key { symbols[Group1] = [ 2, quotedbl, numbersign, F2 ] }; + key { symbols[Group1] = [ 3, sterling, backslash, F3 ] }; + key { symbols[Group1] = [ 4, dollar, EuroSign, F4 ] }; + key { symbols[Group1] = [ 5, percent, less, F5 ] }; + key { symbols[Group1] = [ 6, asciicircum, greater, F6 ] }; + key { symbols[Group1] = [ 7, ampersand, bracketleft, F7 ] }; + key { symbols[Group1] = [ 8, asterisk, bracketright, F8 ] }; + key { symbols[Group1] = [ 9, parenleft, braceleft, F9 ] }; + key { symbols[Group1] = [ 0, parenright, braceright, F10 ] }; + + // 2. row + key { symbols[Group2] = [ Cyrillic_shorti, Cyrillic_SHORTI, XF86AudioPlay, Greek_OMEGA ] }; + key { symbols[Group2] = [ Cyrillic_tse, Cyrillic_TSE, XF86AudioPrev, Lstroke ] }; + key { symbols[Group2] = [ Cyrillic_u, Cyrillic_U, F86AudioNext, trademark ] }; + key { symbols[Group2] = [ Cyrillic_ka, Cyrillic_KA, underscore, registered ] }; + key { symbols[Group2] = [ Cyrillic_ie, Cyrillic_IE, XF86AudioMute, Tslash ] }; + key { symbols[Group2] = [ Cyrillic_en, Cyrillic_EN, Cyrillic_ha, Cyrillic_HA ] }; + key { symbols[Group2] = [ Cyrillic_ghe, Cyrillic_GHE, Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; + key { symbols[Group2] = [ Cyrillic_sha, Cyrillic_SHA, plus, plusminus ] }; + key { symbols[Group2] = [ Cyrillic_shcha, Cyrillic_SHCHA, minus, Ooblique ] }; + key { symbols[Group2] = [ Cyrillic_ze, Cyrillic_ZE, equal, THORN ] }; + + key { symbols[Group1] = [ q, Q, XF86AudioPlay, Greek_OMEGA ] }; + key { symbols[Group1] = [ w, W, XF86AudioPrev, Lstroke ] }; + key { symbols[Group1] = [ e, E, F86AudioNext, trademark ] }; + key { symbols[Group1] = [ r, R, underscore, registered ] }; + key { symbols[Group1] = [ t, T, XF86AudioMute, Tslash ] }; + key { symbols[Group1] = [ y, Y, Cyrillic_ha, Cyrillic_HA ] }; + key { symbols[Group1] = [ u, U, Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; + key { symbols[Group1] = [ i, I, plus, plusminus ] }; + key { symbols[Group1] = [ o, O, minus, Ooblique ] }; + key { symbols[Group1] = [ p, P, equal, THORN ] }; + + // 3. row + key { symbols[Group2] = [ Cyrillic_ef, Cyrillic_EF, XF86TaskPane, AE ] }; + key { symbols[Group2] = [ Cyrillic_yeru, Cyrillic_YERU, Cyrillic_shcha, Cyrillic_SCHCHA ] }; + key { symbols[Group2] = [ Cyrillic_ve, Cyrillic_VE, XF86TopMenu, ETH ] }; + key { symbols[Group2] = [ Cyrillic_a, Cyrillic_A, XF86UWB, ordfeminine ] }; + key { symbols[Group2] = [ Cyrillic_pe, Cyrillic_PE, Cyrillic_zhe, Cyrillic_ZHE ] }; + key { symbols[Group2] = [ Cyrillic_er, Cyrillic_ER, Cyrillic_e, Cyrillic_E ] }; + key { symbols[Group2] = [ Cyrillic_o, Cyrillic_O, Cyrillic_yu, Cyrillic_YU ] }; + key { symbols[Group2] = [ Cyrillic_el, Cyrillic_EL, Cyrillic_io, Cyrillic_IO ] }; + key { symbols[Group2] = [ Cyrillic_de, Cyrillic_DE, slash, Lstroke ] }; + key { symbols[Group2] = [ apostrophe, asciitilde, colon, dead_caron ] }; + + key { symbols[Group1] = [ a, A, XF86TaskPane, AE ] }; + key { symbols[Group1] = [ s, S, Cyrillic_shcha, Cyrillic_SCHCHA ] }; + key { symbols[Group1] = [ d, D, XF86TopMenu, ETH ] }; + key { symbols[Group1] = [ f, F, XF86UWB, ordfeminine ] }; + key { symbols[Group1] = [ g, G, Cyrillic_zhe, Cyrillic_ZHE ] }; + key { symbols[Group1] = [ h, H, Cyrillic_e, Cyrillic_E ] }; + key { symbols[Group1] = [ j, J, Cyrillic_yu, Cyrillic_YU ] }; + key { symbols[Group1] = [ k, K, Cyrillic_io, Cyrillic_IO ] }; + key { symbols[Group1] = [ l, L, slash, Lstroke ] }; + key { symbols[Group1] = [ apostrophe, asciitilde, colon, dead_caron ] }; + + // 4. row + key { symbols[Group2] = [ Cyrillic_ya, Cyrillic_YA, bar, guillemotleft ] }; + key { symbols[Group2] = [ Cyrillic_che, Cyrillic_CHE, Print, guillemotright ] }; + key { symbols[Group2] = [ Cyrillic_es, Cyrillic_ES, XF86AudioLowerVolume, copyright ] }; + key { symbols[Group2] = [ Cyrillic_em, Cyrillic_EM, XF86AudioRaiseVolume, leftsinglequotemark ] }; + key { symbols[Group2] = [ Cyrillic_i, Cyrillic_I, XF86MonBrightnessDown, rightsinglequotemark ] }; + key { symbols[Group2] = [ Cyrillic_te, Cyrillic_TE, XF86MonBrightnessUp, exclamdown ] }; + key { symbols[Group2] = [ Cyrillic_softsign, Cyrillic_SOFTSIGN, Cyrillic_be, Cyrillic_BE ] }; + key { symbols[Group2] = [ period, question, U263A, division ] }; + + key { symbols[Group1] = [ z, Z, bar, guillemotleft ] }; + key { symbols[Group1] = [ x, X, Print, guillemotright ] }; + key { symbols[Group1] = [ c, C, XF86AudioLowerVolume, copyright ] }; + key { symbols[Group1] = [ v, V, XF86AudioRaiseVolume, leftsinglequotemark ] }; + key { symbols[Group1] = [ b, B, XF86MonBrightnessDown, rightsinglequotemark ] }; + key { symbols[Group1] = [ n, N, XF86MonBrightnessUp, exclamdown ] }; + key { symbols[Group1] = [ m, M, Cyrillic_be, Cyrillic_be ] }; + key { symbols[Group1] = [ period, question, U263A, division ] }; + + key { symbols[Group2] = [ comma, semicolon, XF86Option, multiply ] }; + key { symbols[Group1] = [ comma, semicolon, XF86Option, multiply ] }; + +}; + +default partial alphanumeric_keys +xkb_symbols "jp" { + include "planet_vndr/gemini(gb)" + include "group(shifts_toggle)" + + name[Group1] = "Gemini Japanese (Kana)"; + name[Group2] = "Gemini English"; + + // 1. row + key { symbols[Group1] = [ kana_NU, exclam, at, F1 ] }; + key { symbols[Group1] = [ kana_FU, quotedbl, numbersign, F2 ] }; + key { symbols[Group1] = [ kana_A, kana_a, backslash, F3 ] }; + key { symbols[Group1] = [ kana_U, kana_u, EuroSign, F4 ] }; + key { symbols[Group1] = [ kana_E, kana_e, less, F5 ] }; + key { symbols[Group1] = [ kana_O, kana_o, greater, F6 ] }; + key { symbols[Group1] = [ kana_YA, kana_ya, bracketleft, braceleft ] }; + key { symbols[Group1] = [ kana_YU, kana_yu, bracketright, braceright ] }; + key { symbols[Group1] = [ kana_YO, kana_yo, kana_HO, F9 ] }; + key { symbols[Group1] = [ kana_WA, kana_WO, kana_HE, prolongedsound ] }; + + key { symbols[Group2] = [ 1, exclam, bar, F1 ] }; + key { symbols[Group2] = [ 2, quotedbl, grave, F2 ] }; + key { symbols[Group2] = [ 3, numbersign, backslash, F3 ] }; + key { symbols[Group2] = [ 4, dollar, yen, F4 ] }; + key { symbols[Group2] = [ 5, percent, less, F5 ] }; + key { symbols[Group2] = [ 6, ampersand, greater, F6 ] }; + key { symbols[Group2] = [ 7, apostrophe, bracketleft, braceleft ] }; + key { symbols[Group2] = [ 8, parenleft, bracketright, braceright ] }; + key { symbols[Group2] = [ 9, parenright, kana_HO, F9 ] }; + key { symbols[Group2] = [ 0, asciitilde, kana_HE, prolongedsound ] }; + + // 2. row + key { symbols[Group1] = [ kana_TA, kana_TA, ISO_Next_Group, ISO_Prev_Group ] }; + key { symbols[Group1] = [ kana_TE, kana_TE, XF86AudioPrev, Lstroke ] }; + key { symbols[Group1] = [ kana_I, kana_i, F86AudioNext, trademark ] }; + key { symbols[Group1] = [ kana_SU, kana_SU, Print, registered ] }; + key { symbols[Group1] = [ kana_KA, kana_KA, XF86AudioMute, Tslash ] }; + key { symbols[Group1] = [ kana_N, kana_N, slash, leftarrow ] }; + key { symbols[Group1] = [ kana_NA, kana_NA, downarrow, uparrow ] }; + key { symbols[Group1] = [ kana_NI, kana_NI, equal, plusminus ] }; + key { symbols[Group1] = [ kana_RA, kana_openingbracket, voicedsound, Ooblique ] }; + key { symbols[Group1] = [ kana_SE, kana_closingbracket, semivoicedsound, THORN ] }; + + key { symbols[Group2] = [ q, Q, ISO_Next_Group, ISO_Prev_Group ] }; + key { symbols[Group2] = [ w, W, XF86AudioPrev, Lstroke ] }; + key { symbols[Group2] = [ e, E, F86AudioNext, trademark ] }; + key { symbols[Group2] = [ r, R, Print, registered ] }; + key { symbols[Group2] = [ t, T, XF86AudioMute, Tslash ] }; + key { symbols[Group2] = [ y, Y, slash, leftarrow ] }; + key { symbols[Group2] = [ u, U, downarrow, uparrow ] }; + key { symbols[Group2] = [ i, I, equal, plusminus ] }; + key { symbols[Group2] = [ o, O, voicedsound, Ooblique ] }; + key { symbols[Group2] = [ p, P, semivoicedsound, THORN ] }; + + // 3. row + key { symbols[Group1] = [ kana_CHI, kana_CHI, XF86TaskPane, AE ] }; + key { symbols[Group1] = [ kana_TO, kana_TO, F86AudioPlay, section ] }; + key { symbols[Group1] = [ kana_SHI, kana_SHI, XF86TopMenu, ETH ] }; + key { symbols[Group1] = [ kana_HA, kana_HA, XF86UWB, ordfeminine ] }; + key { symbols[Group1] = [ kana_KI, kana_KI, U263A, division ] }; + key { symbols[Group1] = [ kana_KU, kana_KU, underscore, degree ] }; + key { symbols[Group1] = [ kana_MA, kana_MA, at, ENG ] }; + key { symbols[Group1] = [ kana_NO, kana_NO, question, Hstroke ] }; + key { symbols[Group1] = [ kana_RI, kana_KE, semicolon, Lstroke ] }; + key { symbols[Group1] = [ kana_RE, kana_MU, XF86Option, dead_caron ] }; + + key { symbols[Group2] = [ a, A, XF86TaskPane, AE ] }; + key { symbols[Group2] = [ s, S, F86AudioPlay, section ] }; + key { symbols[Group2] = [ d, D, XF86TopMenu, ETH ] }; + key { symbols[Group2] = [ f, F, XF86UWB, ordfeminine ] }; + key { symbols[Group2] = [ g, G, U263A, division ] }; + key { symbols[Group2] = [ h, H, underscore, degree ] }; + key { symbols[Group2] = [ j, J, at, ENG ] }; + key { symbols[Group2] = [ k, K, question, Hstroke ] }; + key { symbols[Group2] = [ l, L, semicolon, Lstroke ] }; + key { symbols[Group2] = [ colon, asterisk, XF86Option, dead_caron ] }; + + // 4. row + key { symbols[Group1] = [ kana_TSU, kana_tsu, bar, guillemotleft ] }; + key { symbols[Group1] = [ kana_SA, kana_SA, Print, guillemotright ] }; + key { symbols[Group1] = [ kana_SO, kana_SO, XF86AudioLowerVolume, copyright ] }; + key { symbols[Group1] = [ kana_HI, kana_HI, XF86AudioRaiseVolume, leftsinglequotemark ] }; + key { symbols[Group1] = [ kana_KO, kana_KO, XF86MonBrightnessDown, rightsinglequotemark ] }; + key { symbols[Group1] = [ kana_MI, kana_MI, XF86MonBrightnessUp, exclamdown ] }; + key { symbols[Group1] = [ kana_MO, kana_comma, kana_ME, masculine ] }; + key { symbols[Group1] = [ kana_RU, kana_fullstop, kana_RO, division ] }; + + key { symbols[Group2] = [ z, Z, asciicircum, guillemotleft ] }; + key { symbols[Group2] = [ x, X, dead_horn, guillemotright ] }; + key { symbols[Group2] = [ c, C, XF86AudioLowerVolume, copyright ] }; + key { symbols[Group2] = [ v, V, XF86AudioRaiseVolume, leftsinglequotemark ] }; + key { symbols[Group2] = [ b, B, XF86MonBrightnessDown, rightsinglequotemark ] }; + key { symbols[Group2] = [ n, N, XF86MonBrightnessUp, exclamdown ] }; + key { symbols[Group2] = [ m, M, kana_ME, masculine ] }; + key { symbols[Group2] = [ period, plus, kana_RO, division ] }; + + key { symbols[Group1] = [ kana_NE, kana_comma, ISO_First_Group, ISO_First_Group ] }; + key { symbols[Group2] = [ comma, minus, ISO_First_Group, ISO_First_Group ] }; + + key { symbols[Group1] = [ Alt_L, Alt_L, ISO_Last_Group, ISO_Last_Group ] }; + key { symbols[Group1] = [ Alt_L, Alt_L, ISO_Last_Group, ISO_Last_Group ] }; +}; + +default partial alphanumeric_keys +xkb_symbols "ara" { + include "planet_vndr/gemini(gb)" + include "group(shifts_toggle)" + + name[Group1] = "Gemini Arabic"; + name[Group2] = "Gemini English"; + + // 1. row - Note Persian numbers on Fn+Shift+number + key { symbols[Group1] = [ 0x1000661, exclam, Arabic_thal, 0x10006f1 ] }; + key { symbols[Group1] = [ 0x1000662, at, numbersign, 0x10006f2 ] }; + key { symbols[Group1] = [ 0x1000663, numbersign, backslash, 0x10006f3 ] }; + key { symbols[Group1] = [ 0x1000664, dollar, EuroSign, 0x10006f4 ] }; + key { symbols[Group1] = [ 0x1000665, percent, less, 0x10006f5 ] }; + key { symbols[Group1] = [ 0x1000666, asciicircum, greater, 0x10006f6 ] }; + key { symbols[Group1] = [ 0x1000667, ampersand, bracketleft, 0x10006f7 ] }; + key { symbols[Group1] = [ 0x1000668, asterisk, bracketright, 0x10006f8 ] }; + key { symbols[Group1] = [ 0x1000669, parenleft, minus, 0x10006f9 ] }; + key { symbols[Group1] = [ 0x1000660, parenright, plus, 0x10006f0 ] }; + + key { symbols[Group2] = [ 1, exclam, Arabic_thal, F1 ] }; + key { symbols[Group2] = [ 2, at, numbersign, F2 ] }; + key { symbols[Group2] = [ 3, numbersign, backslash, F3 ] }; + key { symbols[Group2] = [ 4, dollar, EuroSign, F4 ] }; + key { symbols[Group2] = [ 5, percent, less, F5 ] }; + key { symbols[Group2] = [ 6, asciicircum, greater, F6 ] }; + key { symbols[Group2] = [ 7, ampersand, bracketleft, F7 ] }; + key { symbols[Group2] = [ 8, asterisk, bracketright, F8 ] }; + key { symbols[Group2] = [ 9, parenleft, minus, F9 ] }; + key { symbols[Group2] = [ 0, parenright, plus, F10 ] }; + + // 2. row + key { symbols[Group1] = [ Arabic_dad, Arabic_fatha, XF86AudioPlay, 0x10006cc ] }; + key { symbols[Group1] = [ Arabic_sad, Arabic_fathatan, XF86AudioPrev, 0x1000653 ] }; + key { symbols[Group1] = [ Arabic_theh, Arabic_damma, F86AudioNext, 0x1000698 ] }; + key { symbols[Group1] = [ Arabic_qaf, Arabic_dammatan, Print, 0x1000670 ] }; + key { symbols[Group1] = [ Arabic_feh, 0x100fef9, XF86AudioMute, 0x10006a4 ] }; + key { symbols[Group1] = [ Arabic_ghain, Arabic_hamzaunderalef, underscore, 0x100200c ] }; + key { symbols[Group1] = [ Arabic_ain, rightsinglequotemark, quotedbl, 0x1000654 ] }; + key { symbols[Group1] = [ Arabic_ha, division, quote, 0x10006a9 ] }; + key { symbols[Group1] = [ Arabic_khah, multiply, Arabic_jeem, 0x10006af ] }; + key { symbols[Group1] = [ Arabic_hah, Arabic_semicolon, Arabic_dal, 0x1000686 ] }; + + key { symbols[Group2] = [ q, Q, XF86AudioPlay, Greek_OMEGA ] }; + key { symbols[Group2] = [ w, W, XF86AudioPrev, Lstroke ] }; + key { symbols[Group2] = [ e, E, F86AudioNext, trademark ] }; + key { symbols[Group2] = [ r, R, Print, registered ] }; + key { symbols[Group2] = [ t, T, XF86AudioMute, Tslash ] }; + key { symbols[Group2] = [ y, Y, underscore, yen ] }; + key { symbols[Group2] = [ u, U, quotedbl, uparrow ] }; + key { symbols[Group2] = [ i, I, quote, plusminus ] }; + key { symbols[Group2] = [ o, O, Arabic_jeem, Ooblique ] }; + key { symbols[Group2] = [ p, P, Arabic_dal, THORN ] }; + + // 3. row + key { symbols[Group1] = [ Arabic_sheen, Arabic_kasra, XF86TaskPane, AE ] }; + key { symbols[Group1] = [ Arabic_seen, Arabic_kasratan, ssharp, section ] }; + key { symbols[Group1] = [ Arabic_yeh, bracketright, XF86TopMenu, ETH ] }; + key { symbols[Group1] = [ Arabic_beh, bracketleft, XF86UWB, 0x100067e ] }; + key { symbols[Group1] = [ Arabic_lam, 0x100fef7, Arabic_question_mark, ENG ] }; + key { symbols[Group1] = [ Arabic_alef, Arabic_hamzaonalef, Arabic_shadda, Hstroke ] }; + key { symbols[Group1] = [ Arabic_teh, Arabic_tatweel, sterling, dead_horn ] }; + key { symbols[Group1] = [ Arabic_noon, Arabic_comma, question, degree ] }; + key { symbols[Group1] = [ Arabic_meem, slash, bar, Lstroke ] }; + key { symbols[Group1] = [ Arabic_kaf, colon, Arabic_tah, dead_caron ] }; + + key { symbols[Group2] = [ a, A, XF86TaskPane, AE ] }; + key { symbols[Group2] = [ s, S, ssharp, section ] }; + key { symbols[Group2] = [ d, D, XF86TopMenu, ETH ] }; + key { symbols[Group2] = [ f, F, XF86UWB, ordfeminine ] }; + key { symbols[Group2] = [ g, G, Arabic_question_mark, ENG ] }; + key { symbols[Group2] = [ h, H, hstroke, Hstroke ] }; + key { symbols[Group2] = [ j, J, sterling, dead_horn ] }; + key { symbols[Group2] = [ k, K, question, degree ] }; + key { symbols[Group2] = [ l, L, bar, Lstroke ] }; + key { symbols[Group2] = [ Arabic_kaf, colon, Arabic_tah, dead_caron ] }; + + // 4. row + key { symbols[Group1] = [ Arabic_hamzaonyeh, asciitilde, guillemotleft, less ] }; + key { symbols[Group1] = [ Arabic_hamza, Arabic_sukun, guillemotright, greater ] }; + key { symbols[Group1] = [ Arabic_hamzaonwaw, braceright, XF86AudioLowerVolume, copyright ] }; + key { symbols[Group1] = [ Arabic_ra, braceleft, XF86AudioRaiseVolume, leftsinglequotemark ] }; + key { symbols[Group1] = [ 0x100fefb, 0x100fef5, XF86MonBrightnessDown, rightsinglequotemark ] }; + key { symbols[Group1] = [ Arabic_alefmaksura, Arabic_maddaonalef, XF86MonBrightnessUp, exclamdown ] }; + key { symbols[Group1] = [ Arabic_tehmarbuta, apostrophe, Arabic_zah, masculine ] }; + key { symbols[Group1] = [ Arabic_zain, period, U263A, division ] }; + + key { symbols[Group2] = [ z, Z, guillemotleft, less ] }; + key { symbols[Group2] = [ x, X, guillemotright, greater ] }; + key { symbols[Group2] = [ c, C, XF86AudioLowerVolume, copyright ] }; + key { symbols[Group2] = [ v, V, XF86AudioRaiseVolume, leftsinglequotemark ] }; + key { symbols[Group2] = [ b, B, XF86MonBrightnessDown, rightsinglequotemark ] }; + key { symbols[Group2] = [ n, N, XF86MonBrightnessUp, exclamdown ] }; + key { symbols[Group2] = [ m, M, Arabic_zah, masculine ] }; + key { symbols[Group2] = [ Arabic_zain, period, U263A, division ] }; + + key { symbols[Group1] = [ Arabic_waw, comma, XF86Option, multiply ] }; + key { symbols[Group2] = [ Arabic_waw, comma, XF86Option, multiply ] }; + +}; + + +default partial alphanumeric_keys +xkb_symbols "cz" { + include "planet_vndr/gemini(gb)" + include "group(shifts_toggle)" + + name[Group1] = "Gemini Czech (qwertz)"; + name[Group2] = "Gemini Czech (qwerty)"; + + // 1. row + key { symbols[Group1] = [ plus, 1, asciicircum, F1 ] }; + key { symbols[Group1] = [ ecaron, 2, backslash, F2 ] }; + key { symbols[Group1] = [ scaron, 3, bar, F3 ] }; + key { symbols[Group1] = [ ccaron, 4, asciitilde, F4 ] }; + key { symbols[Group1] = [ rcaron, 5, parenleft, F5 ] }; + key { symbols[Group1] = [ zcaron, 6, parenleft, F6 ] }; + key { symbols[Group1] = [ yacute, 7, braceleft, F7 ] }; + key { symbols[Group1] = [ aacute, 8, braceright, F8 ] }; + key { symbols[Group1] = [ iacute, 9, percent, F9 ] }; + key { symbols[Group1] = [ eacute, 0, equal, F10 ] }; + + key { symbols[Group2] = [ plus, 1, asciicircum, F1 ] }; + key { symbols[Group2] = [ ecaron, 2, backslash, F2 ] }; + key { symbols[Group2] = [ scaron, 3, bar, F3 ] }; + key { symbols[Group2] = [ ccaron, 4, asciitilde, F4 ] }; + key { symbols[Group2] = [ rcaron, 5, parenleft, F5 ] }; + key { symbols[Group2] = [ zcaron, 6, parenleft, F6 ] }; + key { symbols[Group2] = [ yacute, 7, braceleft, F7 ] }; + key { symbols[Group2] = [ aacute, 8, braceright, F8 ] }; + key { symbols[Group2] = [ iacute, 9, percent, F9 ] }; + key { symbols[Group2] = [ eacute, 0, equal, F10 ] }; + + + // 2. row + key { symbols[Group1] = [ q, Q, XF86AudioPlay, dead_abovering ] }; + key { symbols[Group1] = [ w, W, bracketleft, dead_tilde ] }; + key { symbols[Group1] = [ e, E, bracketright, dead_caron ] }; + key { symbols[Group1] = [ r, R, EuroSign, dead_circumflex ] }; + key { symbols[Group1] = [ t, T, Print, dead_breve ] }; + key { symbols[Group1] = [ z, Z, less, dead_ogonek ] }; + key { symbols[Group1] = [ u, U, greater, dead_grave ] }; + key { symbols[Group1] = [ i, I, slash, dead_abovedot ] }; + key { symbols[Group1] = [ o, O, apostrophe, dead_acute ] }; + key { symbols[Group1] = [ p, P, uacute, dead_doubleacute ] }; + + key { symbols[Group2] = [ q, Q, XF86AudioPlay, dead_abovering ] }; + key { symbols[Group2] = [ w, W, bracketleft, dead_tilde ] }; + key { symbols[Group2] = [ e, E, bracketright, dead_caron ] }; + key { symbols[Group2] = [ r, R, EuroSign, dead_circumflex ] }; + key { symbols[Group2] = [ t, T, Print, dead_breve ] }; + key { symbols[Group2] = [ y, Y, less, dead_ogonek ] }; + key { symbols[Group2] = [ u, U, greater, dead_grave ] }; + key { symbols[Group2] = [ i, I, slash, dead_abovedot ] }; + key { symbols[Group2] = [ o, O, apostrophe, dead_acute ] }; + key { symbols[Group2] = [ p, P, uacute, dead_doubleacute ] }; + + // 3. row + key { symbols[Group1] = [ a, A, XF86TaskPane, AE ] }; + key { symbols[Group1] = [ s, S, at, section ] }; + key { symbols[Group1] = [ d, D, XF86TopMenu, dead_diaeresis ] }; + key { symbols[Group1] = [ f, F, XF86UWB, dead_macron ] }; + key { symbols[Group1] = [ g, G, dollar, dead_cedilla ] }; + key { symbols[Group1] = [ h, H, asterisk, degree ] }; + key { symbols[Group1] = [ j, J, quotedbl, ssharp ] }; + key { symbols[Group1] = [ k, K, exclam, Hstroke ] }; + key { symbols[Group1] = [ l, L, semicolon, Lstroke ] }; + key { symbols[Group1] = [ minus, underscore, uring, dead_caron ] }; + + key { symbols[Group2] = [ a, A, XF86TaskPane, AE ] }; + key { symbols[Group2] = [ s, S, at, section ] }; + key { symbols[Group2] = [ d, D, XF86TopMenu, dead_diaeresis ] }; + key { symbols[Group2] = [ f, F, XF86UWB, dead_macron ] }; + key { symbols[Group2] = [ g, G, dollar, dead_cedilla ] }; + key { symbols[Group2] = [ h, H, asterisk, degree ] }; + key { symbols[Group2] = [ j, J, quotedbl, ssharp ] }; + key { symbols[Group2] = [ k, K, exclam, Hstroke ] }; + key { symbols[Group2] = [ l, L, semicolon, Lstroke ] }; + key { symbols[Group2] = [ minus, underscore, uring, dead_caron ] }; + + // 4. row + key { symbols[Group1] = [ y, Y, numbersign, guillemotleft ] }; + key { symbols[Group1] = [ x, X, ampersand, guillemotright ] }; + key { symbols[Group1] = [ c, C, XF86AudioLowerVolume, copyright ] }; + key { symbols[Group1] = [ v, V, XF86AudioRaiseVolume, leftsinglequotemark ] }; + key { symbols[Group1] = [ b, B, XF86MonBrightnessDown, rightsinglequotemark ] }; + key { symbols[Group1] = [ n, N, XF86MonBrightnessUp, exclamdown ] }; + key { symbols[Group1] = [ m, M, grave, masculine ] }; + key { symbols[Group1] = [ period, colon, U263A, division ] }; + + key { symbols[Group2] = [ z, Z, numbersign, guillemotleft ] }; + key { symbols[Group2] = [ x, X, ampersand, guillemotright ] }; + key { symbols[Group2] = [ c, C, XF86AudioLowerVolume, copyright ] }; + key { symbols[Group2] = [ v, V, XF86AudioRaiseVolume, leftsinglequotemark ] }; + key { symbols[Group2] = [ b, B, XF86MonBrightnessDown, rightsinglequotemark ] }; + key { symbols[Group2] = [ n, N, XF86MonBrightnessUp, exclamdown ] }; + key { symbols[Group2] = [ m, M, grave, masculine ] }; + key { symbols[Group2] = [ period, colon, U263A, division ] }; + + key { symbols[Group1] = [ comma, question, XF86Option, multiply ] }; + key { symbols[Group2] = [ comma, question, XF86Option, multiply ] }; +}; + +default partial alphanumeric_keys +xkb_symbols "sk" { + include "planet_vndr/gemini(gb)" + include "group(shifts_toggle)" + + name[Group1] = "Gemini Slovak"; + name[Group2] = "Gemini Slovak (qwerty)"; + + // 1. row + key { symbols[Group1] = [ plus, 1, asciicircum, F1 ] }; + key { symbols[Group1] = [ lcaron, 2, backslash, F2 ] }; + key { symbols[Group1] = [ scaron, 3, bar, F3 ] }; + key { symbols[Group1] = [ ccaron, 4, asciitilde, F4 ] }; + key { symbols[Group1] = [ tcaron, 5, parenleft, F5 ] }; + key { symbols[Group1] = [ zcaron, 6, parenleft, F6 ] }; + key { symbols[Group1] = [ yacute, 7, braceleft, F7 ] }; + key { symbols[Group1] = [ aacute, 8, braceright, F8 ] }; + key { symbols[Group1] = [ iacute, 9, percent, F9 ] }; + key { symbols[Group1] = [ eacute, 0, equal, F10 ] }; + + key { symbols[Group2] = [ plus, 1, asciicircum, F1 ] }; + key { symbols[Group2] = [ lcaron, 2, backslash, F2 ] }; + key { symbols[Group2] = [ scaron, 3, bar, F3 ] }; + key { symbols[Group2] = [ ccaron, 4, asciitilde, F4 ] }; + key { symbols[Group2] = [ tcaron, 5, parenleft, F5 ] }; + key { symbols[Group2] = [ zcaron, 6, parenleft, F6 ] }; + key { symbols[Group2] = [ yacute, 7, braceleft, F7 ] }; + key { symbols[Group2] = [ aacute, 8, braceright, F8 ] }; + key { symbols[Group2] = [ iacute, 9, percent, F9 ] }; + key { symbols[Group2] = [ eacute, 0, equal, F10 ] }; + + + // 2. row + key { symbols[Group1] = [ q, Q, XF86AudioPlay, dead_abovering ] }; + key { symbols[Group1] = [ w, W, bracketleft, dead_tilde ] }; + key { symbols[Group1] = [ e, E, bracketright, dead_caron ] }; + key { symbols[Group1] = [ r, R, EuroSign, dead_circumflex ] }; + key { symbols[Group1] = [ t, T, Print, dead_breve ] }; + key { symbols[Group1] = [ z, Z, less, dead_ogonek ] }; + key { symbols[Group1] = [ u, U, greater, dead_grave ] }; + key { symbols[Group1] = [ i, I, slash, dead_abovedot ] }; + key { symbols[Group1] = [ o, O, apostrophe, dead_acute ] }; + key { symbols[Group1] = [ p, P, adiaeresis, dead_doubleacute ] }; + + key { symbols[Group2] = [ q, Q, XF86AudioPlay, dead_abovering ] }; + key { symbols[Group2] = [ w, W, bracketleft, dead_tilde ] }; + key { symbols[Group2] = [ e, E, bracketright, dead_caron ] }; + key { symbols[Group2] = [ r, R, EuroSign, dead_circumflex ] }; + key { symbols[Group2] = [ t, T, Print, dead_breve ] }; + key { symbols[Group2] = [ y, Y, less, dead_ogonek ] }; + key { symbols[Group2] = [ u, U, greater, dead_grave ] }; + key { symbols[Group2] = [ i, I, slash, dead_abovedot ] }; + key { symbols[Group2] = [ o, O, apostrophe, dead_acute ] }; + key { symbols[Group2] = [ p, P, adiaeresis, dead_doubleacute ] }; + + // 3. row + key { symbols[Group1] = [ a, A, XF86TaskPane, AE ] }; + key { symbols[Group1] = [ s, S, at, section ] }; + key { symbols[Group1] = [ d, D, XF86TopMenu, dead_diaeresis ] }; + key { symbols[Group1] = [ f, F, XF86UWB, dead_macron ] }; + key { symbols[Group1] = [ g, G, dollar, dead_cedilla ] }; + key { symbols[Group1] = [ h, H, asterisk, degree ] }; + key { symbols[Group1] = [ j, J, quotedbl, ssharp ] }; + key { symbols[Group1] = [ k, K, exclam, Hstroke ] }; + key { symbols[Group1] = [ l, L, semicolon, Lstroke ] }; + key { symbols[Group1] = [ minus, underscore, ocircumflex, dead_caron ] }; + + key { symbols[Group2] = [ a, A, XF86TaskPane, AE ] }; + key { symbols[Group2] = [ s, S, at, section ] }; + key { symbols[Group2] = [ d, D, XF86TopMenu, dead_diaeresis ] }; + key { symbols[Group2] = [ f, F, XF86UWB, dead_macron ] }; + key { symbols[Group2] = [ g, G, dollar, dead_cedilla ] }; + key { symbols[Group2] = [ h, H, asterisk, degree ] }; + key { symbols[Group2] = [ j, J, quotedbl, ssharp ] }; + key { symbols[Group2] = [ k, K, exclam, Hstroke ] }; + key { symbols[Group2] = [ l, L, semicolon, Lstroke ] }; + key { symbols[Group2] = [ minus, underscore, ocircumflex, dead_caron ] }; + + // 4. row + key { symbols[Group1] = [ y, Y, numbersign, guillemotleft ] }; + key { symbols[Group1] = [ x, X, ampersand, guillemotright ] }; + key { symbols[Group1] = [ c, C, XF86AudioLowerVolume, copyright ] }; + key { symbols[Group1] = [ v, V, XF86AudioRaiseVolume, leftsinglequotemark ] }; + key { symbols[Group1] = [ b, B, XF86MonBrightnessDown, rightsinglequotemark ] }; + key { symbols[Group1] = [ n, N, XF86MonBrightnessUp, exclamdown ] }; + key { symbols[Group1] = [ m, M, grave, masculine ] }; + key { symbols[Group1] = [ period, colon, U263A, division ] }; + + key { symbols[Group2] = [ z, Z, numbersign, guillemotleft ] }; + key { symbols[Group2] = [ x, X, ampersand, guillemotright ] }; + key { symbols[Group2] = [ c, C, XF86AudioLowerVolume, copyright ] }; + key { symbols[Group2] = [ v, V, XF86AudioRaiseVolume, leftsinglequotemark ] }; + key { symbols[Group2] = [ b, B, XF86MonBrightnessDown, rightsinglequotemark ] }; + key { symbols[Group2] = [ n, N, XF86MonBrightnessUp, exclamdown ] }; + key { symbols[Group2] = [ m, M, grave, masculine ] }; + key { symbols[Group2] = [ period, colon, U263A, division ] }; + + key { symbols[Group1] = [ comma, question, XF86Option, multiply ] }; + key { symbols[Group2] = [ comma, question, XF86Option, multiply ] }; +}; + +default partial alphanumeric_keys +xkb_symbols "hr" { + include "planet_vndr/gemini(modifiers)" + include "planet_vndr/gemini(common_keys)" + + name[Group1]="Gemini Croatian"; + + key { [ 1, exclam, asciitilde, F1 ] }; + key { [ 2, quotedbl, numbersign, F2 ] }; + key { [ 3, plus, backslash, F3 ] }; + key { [ 4, dollar, EuroSign, F4 ] }; + key { [ 5, percent, less, F5 ] }; + key { [ 6, ampersand, greater, F6 ] }; + key { [ 7, slash, bracketleft, F7 ] }; + key { [ 8, parenleft, bracketright, F8 ] }; + key { [ 9, parenright, braceleft, F9 ] }; + key { [ 0, equal, braceright, F10 ] }; + + key { [ q, Q,XF86AudioPlay, Greek_OMEGA ] }; + key { [ w, W,XF86AudioPrev, Lstroke ] }; + key { [ e, E,XF86AudioNext, trademark ] }; + key { [ r, R, bar, registered ] }; + key { [ t, T,XF86AudioMute, yen ] }; + key { [ z, Z, plus, uparrow ] }; + key { [ u, U, minus, downarrow ] }; + key { [ i, I, asciicircum, plusminus ] }; + key { [ o, O, scaron, Sscaron ] }; + key { [ p, P, dstroke, Dstroke ] }; +// enter + + key { [ a, A, XF86TaskPane, AE ] }; + key { [ s, S, grave, section ] }; + key { [ d, D, XF86TopMenu, dead_circumflex ] }; + key { [ f, F, XF86UWB, ordfeminine ] }; + key { [ g, G, underscore, ENG ] }; + key { [ h, H, Print, dead_diaeresis ] }; + key { [ j, J, ccaron, Ccaron ] }; + key { [ k, K, cacute, Cacute ] }; + key { [ l, L, zcaron, Zcaron ] }; + key { [ question, asterisk, at, dead_acute ] }; + +// lshift + key { [ y, Y, guillemotleft, dead_belowdot ] }; + key { [ x, X, guillemotright, dead_abovedot ] }; + key { [ c, C, XF86AudioLowerVolume, copyright ] }; + key { [ v, V, XF86AudioRaiseVolume, leftsinglequotemark ] }; + key { [ b, B,XF86MonBrightnessDown, rightsinglequotemark ] }; + key { [ n, N, XF86MonBrightnessUp, exclamdown ] }; + key { [ m, M, apostrophe, dead_grave ] }; + key { [ period, colon, U263A, dead_tilde ] }; +// rshift + +// lctrl +// fn +// alt + key { [ comma, semicolon, XF86Option, multiply ] }; +}; + +default partial alphanumeric_keys +xkb_symbols "it" { + include "planet_vndr/gemini(modifiers)" + include "planet_vndr/gemini(common_keys)" + + name[Group1]="Gemini Italian"; + + key { [ 1, exclam, backslash, F1 ] }; + key { [ 2, quotedbl, bar, F2 ] }; + key { [ 3, sterling, EuroSign, F3 ] }; + key { [ 4, dollar, at, F4 ] }; + key { [ 5, percent, grave, F5 ] }; + key { [ 6, ampersand, degree, F6 ] }; + key { [ 7, slash, asciicircum, F7 ] }; + key { [ 8, parenleft, apostrophe, F8 ] }; + key { [ 9, parenright, question, F9 ] }; + key { [ 0, equal, igrave, F10 ] }; + + key { [ q, Q,XF86AudioPlay, Greek_OMEGA ] }; + key { [ w, W,XF86AudioPrev, Lstroke ] }; + key { [ e, E,XF86AudioNext, trademark ] }; + key { [ r, R, Print, registered ] }; + key { [ t, T,XF86AudioMute, yen ] }; + key { [ y, Y, bracketleft, rightarrow ] }; + key { [ u, U, bracketright, uparrow ] }; + key { [ i, I, plus, plusminus ] }; + key { [ o, O, asterisk, Ooblique ] }; + key { [ p, P, numbersign, THORN ] }; + + key { [ a, A, XF86TaskPane, AE ] }; + key { [ s, S, asciitilde, section ] }; + key { [ d, D, XF86TopMenu, ETH ] }; + key { [ f, F, XF86UWB, ordfeminine ] }; + key { [ g, G, U263A, ENG ] }; + key { [ h, H, braceleft, dead_diaeresis ] }; + key { [ j, J, braceright, dead_circumflex ] }; + key { [ k, K, ograve, degree ] }; + key { [ l, L, agrave, dead_caron ] }; + key { [ egrave, eacute, ugrave, dead_acute ] }; + + key { [ z, Z, less, dead_belowdot ] }; + key { [ x, X, greater, dead_abovedot ] }; + key { [ c, C, XF86AudioLowerVolume, copyright ] }; + key { [ v, V, XF86AudioRaiseVolume, leftsinglequotemark ] }; + key { [ b, B,XF86MonBrightnessDown, rightsinglequotemark ] }; + key { [ n, N, XF86MonBrightnessUp, exclamdown ] }; + key { [ m, M, underscore, dead_grave ] }; + key { [ period, colon, minus, dead_tilde ] }; + + key { [ comma, semicolon, XF86Option, multiply ] }; +}; + +default partial alphanumeric_keys +xkb_symbols "no" { + include "planet_vndr/gemini(modifiers)" + include "planet_vndr/gemini(common_keys)" + + name[Group1]="Gemini Norwegian"; + + key { [ 1, exclam, bar, F1 ] }; + key { [ 2, quotedbl, at, F2 ] }; + key { [ 3, numbersign, backslash, F3 ] }; + key { [ 4, currency, dollar, F4 ] }; + key { [ 5, percent, asciicircum, F5 ] }; + key { [ 6, ampersand, degree, F6 ] }; + key { [ 7, slash, braceleft, F7 ] }; + key { [ 8, parenleft, bracketleft, F8 ] }; + key { [ 9, parenright, bracketright, F9 ] }; + key { [ 0, equal, braceright, F10 ] }; + + key { [ q, Q,XF86AudioPlay, Greek_OMEGA ] }; + key { [ w, W,XF86AudioPrev, Lstroke ] }; + key { [ e, E,XF86AudioNext, trademark ] }; + key { [ r, R, Print, registered ] }; + key { [ t, T,XF86AudioMute, yen ] }; + key { [ y, Y, plus, rightarrow ] }; + key { [ u, U, minus, uparrow ] }; + key { [ i, I, underscore, plusminus ] }; + key { [ o, O, oslash, Ooblique ] }; + key { [ p, P, aring, Aring ] }; + + key { [ a, A, XF86TaskPane, cedilla ] }; + key { [ s, S, ssharp, ogonek ] }; + key { [ d, D, XF86TopMenu, ETH ] }; + key { [ f, F, XF86UWB, ordfeminine ] }; + key { [ g, G, U263A, ENG ] }; + key { [ h, H, sterling, dead_diaeresis ] }; + key { [ j, J, EuroSign, dead_circumflex ] }; + key { [ k, K, asciitilde, degree ] }; + key { [ l, L, asterisk, dead_caron ] }; + key { [apostrophe, question, ae, AE ] }; + + key { [ z, Z, guillemotleft, dead_belowdot ] }; + key { [ x, X, guillemotright, dead_abovedot ] }; + key { [ c, C, XF86AudioLowerVolume, copyright ] }; + key { [ v, V, XF86AudioRaiseVolume, leftsinglequotemark ] }; + key { [ b, B,XF86MonBrightnessDown, rightsinglequotemark ] }; + key { [ n, N, XF86MonBrightnessUp, exclamdown ] }; + key { [ m, M, grave, dead_grave ] }; + key { [ period, colon, section, dead_tilde ] }; + + key { [ comma, semicolon, XF86Option, multiply ] }; +}; + +default partial alphanumeric_keys +xkb_symbols "dk" { + include "planet_vndr/gemini(no)" + + name[Group1]="Gemini Danish"; +}; + +default partial alphanumeric_keys +xkb_symbols "dvorak-us" { + include "planet_vndr/gemini(modifiers)" + include "planet_vndr/gemini(common_keys)" + + name[Group1]="Gemini English (Dvorak)"; + + key { [ 1, exclam, grave, F1 ] }; + key { [ 2, quotedbl, asciitilde, F2 ] }; + key { [ 3, numbersign, sterling, F3 ] }; + key { [ 4, dollar, EuroSign, F4 ] }; + key { [ 5, percent, bracketleft, F5 ] }; + key { [ 6, asciicircum, bracketright, F6 ] }; + key { [ 7, ampersand, braceleft, F7 ] }; + key { [ 8, asterisk, braceright, F8 ] }; + key { [ 9, parenleft, minus, F9 ] }; + key { [ 0, parenright, equal, F10 ] }; + + key { [ apostrophe, quotedbl, XF86AudioPlay, Greek_OMEGA ] }; + key { [ comma, less, XF86AudioPrev, Lstroke ] }; + key { [ period, greater, XF86AudioNext, periodcentered ] }; + key { [ p, P, Print, registered ] }; + key { [ y, Y, XF86AudioMute, yen ] }; + key { [ f, F, slash, rightarrow ] }; + key { [ g, G, question, questiondown ] }; + key { [ c, C, plus, copyright ] }; + key { [ r, R, bar, Ooblique ] }; + key { [ l, L, backslash, dead_ogonek ] }; + + key { [ a, A, XF86TaskPane, AE ] }; + key { [ o, O, colon, dead_acute ] }; + key { [ e, E, XF86TopMenu, ETH ] }; + key { [ u, U, XF86UWB, dead_grave ] }; + key { [ i, I, eng, ENG ] }; + key { [ d, D, degree, dead_diaeresis ] }; + key { [ h, H, leftarrow, dead_circumflex ] }; + key { [ t, T, rightarrow, trademark ] }; + key { [ n, N, currency, dead_caron ] }; + key { [ s, S, underscore, section ] }; + + key { [ q, Q, guillemotleft, dead_belowdot ] }; + key { [ j, J, guillemotright, dead_abovedot ] }; + key { [ k, K, XF86AudioLowerVolume, copyright ] }; + key { [ x, X, XF86AudioRaiseVolume, leftsinglequotemark ] }; + key { [ b, B,XF86MonBrightnessDown, rightsinglequotemark ] }; + key { [ m, M, XF86MonBrightnessUp, multiply ] }; + key { [ w, W, downarrow, uparrow ] }; + key { [ z, Z, U263A, dead_tilde ] }; + + key { [ v, V, XF86Option, exclamdown ] }; +}; + +default partial alphanumeric_keys +xkb_symbols "gr" { + include "planet_vndr/gemini(modifiers)" + include "planet_vndr/gemini(common_keys)" + include "group(shifts_toggle)" + + name[Group1] = "Gemini Greek"; + name[Group2] = "Gemini English"; + + // 1. row + key { symbols[Group1] = [ 1, exclam, asciitilde, F1 ] }; + key { symbols[Group1] = [ 2, at, grave, F2 ] }; + key { symbols[Group1] = [ 3, numbersign, backslash, F3 ] }; + key { symbols[Group1] = [ 4, dollar, sterling, F4 ] }; + key { symbols[Group1] = [ 5, percent, less, F5 ] }; + key { symbols[Group1] = [ 6, asciicircum, greater, F6 ] }; + key { symbols[Group1] = [ 7, ampersand, bracketleft, F7 ] }; + key { symbols[Group1] = [ 8, asterisk, bracketright, F8 ] }; + key { symbols[Group1] = [ 9, parenleft, braceleft, F9 ] }; + key { symbols[Group1] = [ 0, parenright, braceright, F10 ] }; + + key { symbols[Group2] = [ 1, exclam, asciitilde, F1 ] }; + key { symbols[Group2] = [ 2, at, grave, F2 ] }; + key { symbols[Group2] = [ 3, numbersign, backslash, F3 ] }; + key { symbols[Group2] = [ 4, dollar, sterling, F4 ] }; + key { symbols[Group2] = [ 5, percent, less, F5 ] }; + key { symbols[Group2] = [ 6, asciicircum, greater, F6 ] }; + key { symbols[Group2] = [ 7, ampersand, bracketleft, F7 ] }; + key { symbols[Group2] = [ 8, asterisk, bracketright, F8 ] }; + key { symbols[Group2] = [ 9, parenleft, braceleft, F9 ] }; + key { symbols[Group2] = [ 0, parenright, braceright, F10 ] }; + + // 2. row + key { symbols[Group1] = [ NoSymbol, NoSymbol, XF86AudioPlay, degree ] }; + key { symbols[Group1] = [Greek_finalsmallsigma, Greek_SIGMA, guillemotleft, Lstroke ] }; + key { symbols[Group1] = [ Greek_epsilon, Greek_EPSILON, guillemotright, trademark ] }; + key { symbols[Group1] = [ Greek_rho, Greek_RHO, registered, registered ] }; + key { symbols[Group1] = [ Greek_tau, Greek_TAU, XF86AudioMute, Tslash ] }; + key { symbols[Group1] = [ Greek_upsilon, Greek_UPSILON, EuroSign, Cyrillic_HA ] }; + key { symbols[Group1] = [ Greek_theta, Greek_THETA, yen, Cyrillic_HARDSIGN ] }; + key { symbols[Group1] = [ Greek_iota, Greek_IOTA, plus, plusminus ] }; + key { symbols[Group1] = [ Greek_omicron, Greek_OMICRON, minus, Ooblique ] }; + key { symbols[Group1] = [ Greek_pi, Greek_PI, equal, THORN ] }; + + key { symbols[Group2] = [ q, Q, XF86AudioPlay, degree ] }; + key { symbols[Group2] = [ w, W, guillemotleft, Lstroke ] }; + key { symbols[Group2] = [ e, E, guillemotright, trademark ] }; + key { symbols[Group2] = [ r, R, registered, periodcentered ] }; + key { symbols[Group2] = [ t, T, XF86AudioMute, Tslash ] }; + key { symbols[Group2] = [ y, Y, EuroSign, Cyrillic_HA ] }; + key { symbols[Group2] = [ u, U, yen, Cyrillic_HARDSIGN ] }; + key { symbols[Group2] = [ i, I, plus, plusminus ] }; + key { symbols[Group2] = [ o, O, minus, Ooblique ] }; + key { symbols[Group2] = [ p, P, equal, THORN ] }; + + // 3. row + key { symbols[Group1] = [ Greek_alpha, Greek_ALPHA, XF86TaskPane, AE ] }; + key { symbols[Group1] = [ Greek_sigma, Greek_SIGMA, NoSymbol, dead_tilde ] }; + key { symbols[Group1] = [ Greek_delta, Greek_DELTA, XF86TopMenu, dead_diaeresis ] }; + key { symbols[Group1] = [ Greek_phi, Greek_PHI, XF86UWB, ordfeminine ] }; + key { symbols[Group1] = [ Greek_gamma, Greek_GAMMA, NoSymbol, dead_macron ] }; + key { symbols[Group1] = [ Greek_eta, Greek_ETA, Print, dead_iota ] }; + key { symbols[Group1] = [ Greek_xi, Greek_XI, NoSymbol, dead_breve ] }; + key { symbols[Group1] = [ Greek_kappa, Greek_KAPPA, underscore, dead_acute ] }; + key { symbols[Group1] = [ Greek_lamda, Greek_LAMDA, semicolon, dead_psili ] }; + key { symbols[Group1] = [ dead_acute, dead_diaeresis, colon, dead_grave ] }; + + key { symbols[Group2] = [ a, A, XF86TaskPane, AE ] }; + key { symbols[Group2] = [ s, S, NoSymbol, dead_tilde ] }; + key { symbols[Group2] = [ d, D, XF86TopMenu, dead_diaeresis ] }; + key { symbols[Group2] = [ f, F, XF86UWB, ordfeminine ] }; + key { symbols[Group2] = [ g, G, NoSymbol, dead_macron ] }; + key { symbols[Group2] = [ h, H, Print, dead_iota ] }; + key { symbols[Group2] = [ j, J, NoSymbol, dead_breve ] }; + key { symbols[Group2] = [ k, K, underscore, dead_acute ] }; + key { symbols[Group2] = [ l, L, semicolon, dead_psili ] }; + key { symbols[Group2] = [ quote, quotedbl, colon, dead_grave ] }; + + // 4. row + key { symbols[Group1] = [ Greek_zeta, Greek_ZETA, copyright, leftarrow ] }; + key { symbols[Group1] = [ Greek_chi, Greek_CHI, downarrow, uparrow ] }; + key { symbols[Group1] = [ Greek_psi, Greek_PSI, XF86AudioLowerVolume, rightarrow ] }; + key { symbols[Group1] = [ Greek_omega, Greek_OMEGA, XF86AudioRaiseVolume, leftsinglequotemark ] }; + key { symbols[Group1] = [ Greek_beta, Greek_BETA, XF86MonBrightnessDown, rightsinglequotemark ] }; + key { symbols[Group1] = [ Greek_nu, Greek_NU, XF86MonBrightnessUp, exclamdown ] }; + key { symbols[Group1] = [ Greek_mu, Greek_MU, NoSymbol, dead_dasia ] }; + key { symbols[Group1] = [ period, question, U263A, division ] }; + + key { symbols[Group2] = [ z, Z, copyright, leftarrow ] }; + key { symbols[Group2] = [ x, X, downarrow, uparrow ] }; + key { symbols[Group2] = [ c, C, XF86AudioLowerVolume, rightarrow ] }; + key { symbols[Group2] = [ v, V, XF86AudioRaiseVolume, leftsinglequotemark ] }; + key { symbols[Group2] = [ b, B, XF86MonBrightnessDown, rightsinglequotemark ] }; + key { symbols[Group2] = [ n, N, XF86MonBrightnessUp, exclamdown ] }; + key { symbols[Group2] = [ m, M, NoSymbol, dead_dasia ] }; + key { symbols[Group2] = [ period, question, U263A, division ] }; + + key { symbols[Group1] = [ comma, slash, XF86Option, multiply ] }; + key { symbols[Group2] = [ comma, slash, XF86Option, multiply ] }; + +}; + +default partial alphanumeric_keys +xkb_symbols "es" { + include "planet_vndr/gemini(modifiers)" + include "planet_vndr/gemini(common_keys)" + + name[Group1]="Gemini Spanish"; + + key { [ 1, exclam, bar, F1 ] }; + key { [ 2, quotedbl, at, F2 ] }; + key { [ 3, sterling, numbersign, F3 ] }; + key { [ 4, dollar, asciitilde, F4 ] }; + key { [ 5, percent, EuroSign, F5 ] }; + key { [ 6, ampersand, asterisk, F6 ] }; + key { [ 7, slash, bracketleft, F7 ] }; + key { [ 8, parenleft, bracketright, F8 ] }; + key { [ 9, parenright, braceleft, F9 ] }; + key { [ 0, equal, braceright, F10 ] }; + + key { [ q, Q, XF86AudioPlay, Greek_OMEGA ] }; + key { [ w, W, XF86AudioPrev, Lstroke ] }; + key { [ e, E, XF86AudioNext, trademark ] }; + key { [ r, R, Print, registered ] }; + key { [ t, T, XF86AudioMute, yen ] }; + key { [ y, Y, plus, rightarrow ] }; + key { [ u, U, minus, uparrow ] }; + key { [ i, I, exclamdown, plusminus ] }; + key { [ o, O, questiondown, Ooblique ] }; + key { [ p, P, question, THORN ] }; + + key { [ a, A, XF86TaskPane, AE ] }; + key { [ s, S, degree, section ] }; + key { [ d, D, XF86TopMenu, ETH ] }; + key { [ f, F, XF86UWB, ordfeminine ] }; + key { [ g, G, underscore, ENG ] }; + key { [ h, H, notsign, dead_diaeresis ] }; + key { [ j, J, less, dead_circumflex ] }; + key { [ k, K, greater, degree ] }; + key { [ l, L, backslashagrave, dead_caron ] }; + key { [ ntilde, Ntilde, ccedilla, Ccedilla ] }; + + key { [ z, Z, ordfeminine, dead_belowdot ] }; + key { [ x, X, masculine, dead_abovedot ] }; + key { [ c, C, XF86AudioLowerVolume, copyright ] }; + key { [ v, V, XF86AudioRaiseVolume, leftsinglequotemark ] }; + key { [ b, B,XF86MonBrightnessDown, rightsinglequotemark ] }; + key { [ n, N, XF86MonBrightnessUp, exclamdown ] }; + key { [ m, M, apostrophe, dead_grave ] }; + key { [ period, colon, U263A, dead_tilde ] }; + + key { [ comma, semicolon, XF86Option, multiply ] }; +}; + + +default partial alphanumeric_keys +xkb_symbols "cat" { + include "planet_vndr/gemini(es)" + + name[Group1]="Gemini Catalan"; + + key { [ 4, dollar, dead_tilde, F4 ] }; + + key { [ dead_acute, dead_grave, ccedilla, Ccedilla ] }; + +}; + +default partial alphanumeric_keys +xkb_symbols "hu" { + include "planet_vndr/gemini(gb)" + + name[Group1]="Gemini Hungarian"; + + key { [ 0, U00A7, grave, F1 ] }; + key { [ 1, apostrophe, asciitilde, F2 ] }; + key { [ 2, quotedbl, backslash, F3 ] }; + key { [ 3, plus, asciicircum, F4 ] }; + key { [ 4, exclam, EuroSign, F5 ] }; + key { [ 5, percent, braceleft, F6 ] }; + key { [ 6, slash, braceright, F7 ] }; + key { [ 7, equal, bracketleft, F8 ] }; + key { [ 8, parenleft, bracketright, F9 ] }; + key { [ 9, parenright, numbersign, F10 ] }; + + key { [ q, Q,XF86AudioPlay, paragraph ] }; + key { [ w, W,XF86AudioPrev, bar ] }; + key { [ e, E,XF86AudioNext, trademark ] }; + key { [ r, R, Print, registered ] }; + key { [ t, T, dollar, yen ] }; + key { [ z, Z, lstroke, F11 ] }; + key { [ u, U, Lstroke, F12 ] }; + key { [ i, I, odiaeresis, Odiaeresis ] }; + key { [ o, O, udiaeresis, Udiaeresis ] }; + key { [ p, P, oacute, Oacute ] }; + + key { [ a, A, XF86TaskPane, Adiaeresis ] }; + key { [ s, S, iacute, Iacute ] }; + key { [ d, D, XF86TopMenu, dstroke ] }; + key { [ f, F, XF86UWB, Dstroke ] }; + key { [ g, G, at, leftarrow ] }; + key { [ h, H, asterisk, uparrow ] }; + key { [ j, J, U263A, rightarrow ] }; + key { [ k, K, odoubleacute, Odoubleacute ] }; + key { [ l, L, uacute, Uacute ] }; + key { [ minus, underscore, udoubleacute, Udoubleacute ] }; + + key { [ y, Y, less, adiaeresis ] }; + key { [ x, X, greater, copyright ] }; + key { [ c, C, XF86AudioLowerVolume, ampersand ] }; + key { [ n, N, XF86MonBrightnessUp, downarrow ] }; + key { [ m, M, eacute, Eacute ] }; + key { [ period, colon, aacute, Aacute ] }; + + key { [ comma, question, XF86Option, multiply ] }; +};