Keyboard Layout ENDE
An english keyboard layout for germans
I added a German Umlaut Layer to the UK Layout
ISO Layout DEDE
ISO Layout ENGB
ISO Layout ENDE1
I choose the Uk layout over an Us layout as base because I find it more convinient. i.e.: right pinky for @, #, ~ as well as \ on the left pinky
I added the umlaut letters to an extra layer which I can switch to with caps lock and return to base with ESC. Underliying application for this is Kmonad. Now I don’t have to switch the whole Keyboard layout for a few letters in German anymore.
Kmonad Template
#| -------------------------------------------------------------------------- KMonad: Kinesis Freestyle 2 template This file contains the `defsrc' configuration for a Kinesis Freestyle 2 keyboard. Copy out the `defsrc' layer to start your own keyboard configuration. Copy out the `deflayer' template to easily start a new layer with matching `transparent' buttons. (deflayer name _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ) -------------------------------------------------------------------------- |# (defcfg ;; For Linux input (device-file "/dev/input/by-id/usb-KINESIS_FREESTYLE_KB800_KB800_Kinesis_Freestyle-event-kbd") output (uinput-sink "My KMonad output" ;; To understand the importance of the following line, see the section on ;; Compose-key sequences at the near-bottom of this file. "/run/current-system/sw/bin/sleep 1 && /run/current-system/sw/bin/setxkbmap -option compose:ralt") cmp-seq ralt ;; Set the compose key to `RightAlt' cmp-seq-delay 5 ;; 5ms delay between each compose-key sequence press ;; For Windows ;; input (low-level-hook) ;; output (send-event-sink) ;; For MacOS ;; input (iokit-name "my-keyboard-product-string") ;; output (kext) ;; Comment this if you want unhandled events not to be emitted fallthrough true ;; Set this to false to disable any command-execution in KMonad allow-cmd true ) ;; Try outs ;;(defalias ;; bas (layer-switch gb-de) ;; uml (multi-tap 300 umlaut 300 upper_umlaut) ;; uuml (multi-tap 300 umlaut 300 upper_umlaut) ;;) ;;(defalias ;; bas (around-next (layer-toggle layer-name)) ;; uml (around-next (layer-toggle layer-name)) ;; uuml (around-next (layer-toggle layer-name)) ;;) (defalias bas (layer-switch gb-de) uml (layer-switch umlaut) uuml (layer-toggle upper_umlaut) ) ;; Switch to Umlaut Layer by pressing Capslock, hold Capslock for Uppercase, Esc return to normal. ;; Key combination with compose key at Uk Keyboard for eg. ä: ;; AltGr+[ a ;; yz (swapped) always on QWERTZ ;; TODO: enter different modes by only holding caps and double press caps key ;; solution -> using kmonad macros (defalias ä #(RA-[ a) ö #(RA-[ o) ü #(RA-[ u) ;; ẞ #(RA-S s) ) (defalias Ä #(RA-[ S-a) Ö #(RA-[ S-o) Ü #(RA-[ S-u) ẞ #(RA-S s) ) (defsrc esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 prnt del pause back fwd grv 1 2 3 4 5 6 7 8 9 0 - = bspc home undo home tab q w e r t y u i o p [ ] \ end cut del caps a s d f g h j k l ; ' ret pgup copy KeyPaste lsft z x c v b n m , . / rsft up pgdn home KeyMenu lctl lmet lalt spc spc ralt rctl left down rght ) (deflayer gb-de esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 prnt del pause back fwd grv 1 2 3 4 5 6 7 8 9 0 - = bspc home undo home tab q w e r t z u i o p [ ] \ end cut del @uml a s d f g h j k l ; ' ret pgup copy KeyPaste lsft y x c v b n m , . / rsft up pgdn home KeyMenu lctl lmet lalt spc spc ralt rctl left down rght ) (deflayer umlaut @bas _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ z _ _ _ _ @ü _ _ _ _ _ @uuml _ _ _ _ _ _ _ _ _ @ö @ä _ _ _ _ _ y _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ) (deflayer upper_umlaut @bas _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ @ẞ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ @Ü _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ @Ö @Ä _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ )