diff --git a/Glove80_User_Guide_14May2023.pdf b/Glove80_User_Guide_14May2023.pdf new file mode 100644 index 0000000..847aa0f Binary files /dev/null and b/Glove80_User_Guide_14May2023.pdf differ diff --git a/config/glove80.keymap b/config/glove80.keymap index 34b41aa..1e8fe35 100644 --- a/config/glove80.keymap +++ b/config/glove80.keymap @@ -37,7 +37,9 @@ bindings = <&mo 1>, <&to 1>; }; }; +}; +/ { macros { rgb_ug_status_macro: rgb_ug_status_macro_0 { label = "RGB_UG_STATUS"; @@ -46,9 +48,7 @@ bindings = <&rgb_ug RGB_STATUS>; }; - }; - macros { bt_0: bt_profile_macro_0 { label = "BT_0"; compatible = "zmk,behavior-macro"; @@ -57,9 +57,7 @@ = <&out OUT_BLE>, <&bt BT_SEL 0>; }; - }; - macros { bt_1: bt_profile_macro_1 { label = "BT_1"; compatible = "zmk,behavior-macro"; @@ -68,9 +66,7 @@ = <&out OUT_BLE>, <&bt BT_SEL 1>; }; - }; - macros { bt_2: bt_profile_macro_2 { label = "BT_2"; compatible = "zmk,behavior-macro"; @@ -79,9 +75,7 @@ = <&out OUT_BLE>, <&bt BT_SEL 2>; }; - }; - macros { bt_3: bt_profile_macro_3 { label = "BT_3"; compatible = "zmk,behavior-macro"; @@ -91,7 +85,9 @@ <&bt BT_SEL 3>; }; }; +}; +/ { magic: magic_hold_tap { compatible = "zmk,behavior-hold-tap"; label = "MAGIC_HOLD_TAP"; @@ -100,23 +96,27 @@ tapping-term-ms = <200>; bindings = <&mo>, <&rgb_ug_status_macro>; }; +}; /* Custom Defined Behaviors */ - +/ { + +}; /* Automatically generated keymap */ +/ { keymap { compatible = "zmk,keymap"; - base_layer { + layer_Base { bindings = < &kp F1 &kp F2 &kp F3 &kp F4 &kp F5 &kp F6 &kp F7 &kp F8 &kp F9 &kp F10 &kp EQUAL &kp N1 &kp N2 &kp N3 &kp N4 &kp N5 &kp N6 &kp N7 &kp N8 &kp N9 &kp N0 &kp MINUS &kp TAB &kp Q &kp W &kp E &kp R &kp T &kp Y &kp U &kp I &kp O &kp P &kp BSLH &kp ESC &kp A &kp S &kp D &kp F &kp G &kp H &kp J &kp K &kp L &kp SEMI &kp SQT - &kp GRAVE &kp Z &kp X &kp C &kp V &kp B &kp LSHFT &kp LCTRL &lower &kp LGUI &kp RCTRL &kp RSHFT &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp PG_UP - &magic 2 0 &kp HOME &kp END &kp LEFT &kp RIGHT &kp BSPC &kp DEL &kp LALT &kp RALT &kp RET &kp SPACE &kp UP &kp DOWN &kp LBKT &kp RBKT &kp PG_DN + &kp GRAVE &kp Z &kp X &kp C &kp V &kp B &kp LSHFT &kp LCTRL &lower &kp DEL &kp RCTRL &kp RSHFT &kp N &kp M &kp COMMA &kp DOT &kp FSLH &kp PG_UP + &magic 2 0 &kp HOME &kp END &kp LEFT &kp RIGHT &kp BSPC &kp LGUI &kp LALT &kp RALT &kp RET &kp SPACE &kp UP &kp DOWN &kp LBKT &kp RBKT &kp PG_DN >; }; @@ -135,10 +135,21 @@ bindings = < &bt BT_CLR &none &none &none &none &none &none &none &none &bt BT_CLR_ALL &none &none &none &none &none &none &none &none &none &none &none &none - &trans &rgb_ug RGB_SPI &rgb_ug RGB_SAI &rgb_ug RGB_HUI &rgb_ug RGB_BRI &rgb_ug RGB_TOG &none &none &none &none &none &none + &none &rgb_ug RGB_SPI &rgb_ug RGB_SAI &rgb_ug RGB_HUI &rgb_ug RGB_BRI &rgb_ug RGB_TOG &none &none &none &none &none &none &bootloader &rgb_ug RGB_SPD &rgb_ug RGB_SAD &rgb_ug RGB_HUD &rgb_ug RGB_BRD &rgb_ug RGB_EFF &none &none &none &none &none &bootloader &reset &none &none &none &none &none &bt_2 &bt_3 &none &none &none &none &none &none &none &none &none &reset - &none &none &none &none &none &bt_0 &bt_1 &out OUT_USB &none &none &none &none &none &none &none &none + &none &none &none &none &none &bt_0 &bt_1 &out OUT_USB &none &none &none &none &none &none &none &to 3 + >; + }; + + layer_Factory { + bindings = < + &kp NUMBER_0 &kp NUMBER_6 &kp NUMBER_2 &kp NUMBER_8 &kp NUMBER_4 &kp NUMBER_4 &kp NUMBER_8 &kp NUMBER_2 &kp NUMBER_6 &kp NUMBER_0 + &kp NUMBER_1 &kp NUMBER_7 &kp NUMBER_3 &kp NUMBER_9 &kp NUMBER_5 &kp NUMBER_0 &kp NUMBER_0 &kp NUMBER_5 &kp NUMBER_9 &kp NUMBER_3 &kp NUMBER_7 &kp NUMBER_1 + &kp NUMBER_2 &kp NUMBER_8 &kp NUMBER_4 &kp NUMBER_0 &kp NUMBER_6 &kp NUMBER_1 &kp NUMBER_1 &kp NUMBER_6 &kp NUMBER_0 &kp NUMBER_4 &kp NUMBER_8 &kp NUMBER_2 + &kp NUMBER_3 &kp NUMBER_9 &kp NUMBER_5 &kp NUMBER_1 &kp NUMBER_7 &kp NUMBER_2 &kp NUMBER_2 &kp NUMBER_7 &kp NUMBER_1 &kp NUMBER_5 &kp NUMBER_9 &kp NUMBER_3 + &kp NUMBER_4 &kp NUMBER_0 &kp NUMBER_6 &kp NUMBER_2 &kp NUMBER_8 &kp NUMBER_3 &kp NUMBER_4 &kp NUMBER_5 &kp NUMBER_6 &kp NUMBER_6 &kp NUMBER_5 &kp NUMBER_4 &kp NUMBER_3 &kp NUMBER_8 &kp NUMBER_2 &kp NUMBER_6 &kp NUMBER_0 &kp NUMBER_4 + &kp NUMBER_5 &kp NUMBER_1 &kp NUMBER_7 &kp NUMBER_3 &kp NUMBER_9 &kp NUMBER_7 &kp NUMBER_8 &kp NUMBER_9 &kp NUMBER_9 &kp NUMBER_8 &kp NUMBER_7 &kp NUMBER_9 &kp NUMBER_3 &kp NUMBER_7 &kp NUMBER_1 &kp NUMBER_5 >; }; diff --git a/eurkey/eu b/eurkey/eu new file mode 100644 index 0000000..fec4d33 --- /dev/null +++ b/eurkey/eu @@ -0,0 +1,64 @@ +// Keyboard layout for Western Europe. + +// Letters and symbols from Western European languages on levels three and four +// of a basic American layout. Based on . +// Copyright 2012 Steffen Bruentjen (eurkey (at) steffen dot bruentjen dot de) + +default partial alphanumeric_keys modifier_keys +xkb_symbols "basic" { + + name[Group1] = "EurKEY (US)"; + + key {[ grave, asciitilde, dead_grave, dead_tilde ]}; + key {[ 1, exclam, exclamdown, onesuperior ]}; + key {[ 2, at, ordfeminine, twosuperior ]}; + key {[ 3, numbersign, masculine, threesuperior ]}; + key {[ 4, dollar, sterling, yen ]}; + key {[ 5, percent, EuroSign, cent ]}; + key {[ 6, asciicircum, dead_circumflex, dead_caron ]}; + key {[ 7, ampersand, dead_abovering, dead_macron ]}; + key {[ 8, asterisk, doublelowquotemark, singlelowquotemark ]}; + key {[ 9, parenleft, leftdoublequotemark, leftsinglequotemark ]}; + key {[ 0, parenright, rightdoublequotemark, rightsinglequotemark ]}; + key {[ minus, underscore, endash, emdash ]}; + key {[ equal, plus, multiply, division ]}; + + key {[ q, Q, ae, AE ]}; + key {[ w, W, aring, Aring ]}; + key {[ e, E, ediaeresis, Ediaeresis ]}; + key {[ r, R, yacute, Yacute ]}; + key {[ t, T, thorn, THORN ]}; + key {[ y, Y, ydiaeresis, Ydiaeresis ]}; + key {[ u, U, udiaeresis, Udiaeresis ]}; + key {[ i, I, idiaeresis, Idiaeresis ]}; + key {[ o, O, odiaeresis, Odiaeresis ]}; + key {[ p, P, oe, OE ]}; + key {[ bracketleft, braceleft, guillemotleft, U2039 ]}; // ‹ + key {[ bracketright, braceright, guillemotright, U203A ]}; // › + key {[ backslash, bar, notsign, brokenbar ]}; + + key {[ a, A, adiaeresis, Adiaeresis ]}; + key {[ s, S, ssharp, section ]}; + key {[ d, D, eth, ETH ]}; + key {[ f, F, egrave, Egrave ]}; + key {[ g, G, eacute, Eacute ]}; + key {[ h, H, ugrave, Ugrave ]}; + key {[ j, J, uacute, Uacute ]}; + key {[ k, K, U0133, U0132 ]}; // ij, IJ + key {[ l, L, oslash, Oslash ]}; + key {[ semicolon, colon, degree, periodcentered ]}; + key {[ apostrophe, quotedbl, dead_acute, dead_diaeresis ]}; + + key {[ z, Z, agrave, Agrave ]}; + key {[ x, X, aacute, Aacute ]}; + key {[ c, C, ccedilla, Ccedilla ]}; + key {[ v, V, igrave, Igrave ]}; + key {[ b, B, iacute, Iacute ]}; + key {[ n, N, ntilde, Ntilde ]}; + key {[ m, M, dead_greek, Multi_key ]}; + key {[ comma, less, ograve, Ograve ]}; + key {[ period, greater, oacute, Oacute ]}; + key {[ slash, question, questiondown, U2026 ]}; // … + + include "level3(ralt_switch)" +}; diff --git a/eurkey/eurkey-layout.pdf b/eurkey/eurkey-layout.pdf new file mode 100644 index 0000000..80571f8 Binary files /dev/null and b/eurkey/eurkey-layout.pdf differ diff --git a/layer0.png b/layer0.png new file mode 100644 index 0000000..c47dfb0 Binary files /dev/null and b/layer0.png differ diff --git a/layer1.png b/layer1.png new file mode 100644 index 0000000..490cff5 Binary files /dev/null and b/layer1.png differ diff --git a/layer2.png b/layer2.png new file mode 100644 index 0000000..703e756 Binary files /dev/null and b/layer2.png differ diff --git a/multi-layout.md b/multi-layout.md new file mode 100644 index 0000000..e8eefd8 --- /dev/null +++ b/multi-layout.md @@ -0,0 +1,28 @@ +Using xinput and setxkbmap utilities, you can set from terminal so that each keyboard to have a different layout. + +First, using xinput -list | grep key command, you have to find the device ID of each keyboard. Here s an example (my case): + +```bash +$ xinput -list | grep key +⎣ Virtual core keyboard id=3 [master keyboard (2)] + ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] + ↳ Power Button id=6 [slave keyboard (3)] + ↳ Video Bus id=7 [slave keyboard (3)] + ↳ Power Button id=8 [slave keyboard (3)] + ↳ Sleep Button id=9 [slave keyboard (3)] + ↳ 2.4GHz 2way RF Receiver id=10 [slave keyboard (3)] + ↳ HP Webcam id=12 [slave keyboard (3)] + ↳ AT Translated Set 2 keyboard id=13 [slave keyboard (3)] + ↳ HP WMI hotkeys id=15 [slave keyboard (3)] + ↳ USB Keyboard id=16 [slave keyboard (3)] + ↳ USB Keyboard id=17 [slave keyboard (3)] +``` + +And second, using `setxkbmap -device -layout `, set the layout which you wish for each keyboard. An example (for my keyboards): + +```bash +setxkbmap -device 3 -layout ro #My master keyboard is set to Romanian layout +setxkbmap -device 10 -layout us #The keyboard with id=10 is set to English (US) layout +setxkbmap -device 16 -layout ru #The keyboard with i +setxkbmap -print -verbose 10 +``` \ No newline at end of file