neo-layout/linux/xmodmap/neo_de_x-prog.xmodmap

310 lines
14 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

!! ~/.xmodmap
!!
!! German NEO-Layout
!! adopted 2004 by Hanno Behrens <Hanno.Behrens@gmx.de>
!! inspired by Dvorak/de-ergo http://www.goebel-consult.de/de-ergo/
!! Authors:
!! Benjamin Kellermann <Benjamin dot Kellermann at gmx dot Germany>
!! Erik Streb <mail at erikstreb dot de>
!!
!! Other Questions:
!! <mailinglist at neo-layout dot org>
!!
!! $Revision: 589 $, $Date: 2008-07-01 10:22:24 +0200 (Di, 01 Jul 2008) $
!! http://pebbles.schattenlauf.de/layout.php
!!
!! To try the layout in this file, simply do xmodmap <file>.
!! To load the layout in this file at X startup, simply store it as
!! ~/.xmodmap
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Modifier definition
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
remove Lock = Caps_Lock
remove Mod3 = ISO_Level3_Shift
clear Mod2
! Mod2 war NumLock !
clear Mod3
clear Mod5
! Shift 50=left 62=right
! Shift+Shift ergibt ein ShiftLock (wie Caps, wirkt aber auf alle Zeichen, nicht nur auf Großbuchstaben)
! Der Lock lässt sich durch ein weiteres Shift lösen.
! Eigentlich (siehe Referenz) sollte hier ein CapsLock stehen.
keycode 50 = Shift_L Shift_Lock
keycode 62 = Shift_R Shift_Lock
! Mod3 66=left 51=right
! Make CapsLock an modifier called Mod3 (similar to AltGr) (Mode_switch or ISO_Group_Shift is for 3rd and 4th level)
! Make former CapsLock and qwertz-# to Mode_switch or ISO_Group_Shift (which is the 3rd and 4th level)
! Mod3(links) (=Qwertz-Caps) erlaubt nur 4 Ebenen
! Ohne einen Eintrag in der zweiten Gruppe (=Ebene 3) ergäbe Mod3+Mod3=Group_Shift+Group_Shift=Gruppe 3=Ebene 6. Das ist nicht gewünscht.
keycode 51 = ISO_Group_Shift ISO_Group_Shift ISO_First_Group
keycode 66 = ISO_Group_Shift ISO_Group_Shift ISO_First_Group
! Mod4 94=left 113=right
! Make the former AltGr and qwertz-< to Mod4 (ISO_Level3_Shift)
! Mod4(rechts)+Mod4(links) lässt Mod4 einrasten (Mod4Lock)
! das funktioniert nur in dieser Reihenfolge, da Mod4(rechts) (=Qwertz-AltGr) nur 4 Ebenen hat
! Der Lock lässt sich durch ein weiteres Mod4 lösen.
keycode 113 = ISO_Level3_Shift ISO_Level3_Shift ISO_Group_Shift ISO_Group_Shift ISO_Level3_Lock
keycode 94 = ISO_Level3_Shift ISO_Level3_Shift ISO_Group_Shift ISO_Group_Shift ISO_Level3_Lock
!add Mod3 = ISO_Group_Shift
!add Mod5 = ISO_Level3_Shift
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Ebenen
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Ebene 1: normal
! Ebene 2: Shift
! Ebene 3: Mod3
! Ebene 4: Mod4 (zum Markieren Shift+Mod4)
! Ebene 5: Shift+Mod3
! Ebene 6: Mod3+Mod4 (in dieser Reihenfolge!)
! Compose (keine eigene Ebene): Mod3+Tab
! Feststellen/Capslock: Shift+Shift
! Mod4-Lock: Mod4(rechts)+Mod4(links)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! general Lock
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Einrasten über linke Win-Taste+Modifier, Lösen über nochmaliges Betätigen des Modifiers
! ShiftLock und Mo5Lock funktionieren, Mod3Lock lässt sich aber nicht mehr lösen!!!!
! keycode 115 = ISO_Lock
! add Lock = ISO_Lock
! keycode 115 = Undo Redo
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Tab as Multi_key (Compose)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
keycode 23 = Tab ISO_Left_Tab Multi_key ISO_Level3_Lock
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Space key
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
keycode 65 = space space space nobreakspace KP_0 KP_0 U202F
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The first row (number Row)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Ebene1 Ebene2 Ebene3 Ebene5 Ebene4 Ebene4+Sh Ebene6
keycode 49 = dead_circumflex dead_caron dead_breve dead_stroke dead_belowdot NoSymbol dead_belowdot
! ^ ˇ ˘
keycode 10 = 1 degree onesuperior femalesymbol enfilledcircbullet NoSymbol notsign
! ° ¹ ♀ • ¬
keycode 11 = 2 numerosign twosuperior U26A5 U2023 NoSymbol logicalor
! № ² ⚥ male&female ‣
keycode 12 = 3 section threesuperior malesymbol NoSymbol NoSymbol logicaland
! § ³ ♂ ∧
keycode 13 = 4 guillemotright U203A U2113 KP_Prior KP_Prior U22A5
! » liter ⊥ perpendicular
keycode 14 = 5 guillemotleft U2039 dagger NoSymbol NoSymbol U2221
! « † ∡ angle sign
keycode 15 = 6 EuroSign cent NoSymbol sterling NoSymbol U2225
! € ¢ £ ∥ parallel
keycode 16 = 7 dollar yen Greek_kappa currency NoSymbol notelementof
! $ ¥ κ ¤ ∉
keycode 17 = 8 doublelowquotemark singlelowquotemark NoSymbol KP_Divide KP_Divide U2204
! „ / ∄ not exist
keycode 18 = 9 leftdoublequotemark leftsinglequotemark NoSymbol KP_Multiply KP_Multiply U2226
! “ * ∦ not parallel
keycode 19 = 0 rightdoublequotemark rightsinglequotemark NoSymbol minus NoSymbol emptyset
! ” - ∅
keycode 20 = minus endash emdash U2011 NoSymbol NoSymbol hyphen
! - non-breaking ­
keycode 21 = dead_acute dead_grave dead_cedilla dead_ogonek dead_abovedot NoSymbol dead_abovering
! ' ` ¸ ˛ ˙ °
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The upper row
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
keycode 24 = x X NoSymbol Greek_xi NoSymbol NoSymbol U039E
! ξ Ξ Greek_XI
keycode 25 = v V underscore NoSymbol BackSpace BackSpace U2259
! ≙
keycode 26 = l L bracketleft Greek_lambda KP_Up KP_Up U039B
! λ Λ Greek_LAMBDA
keycode 27 = c C bracketright Greek_chi KP_Delete KP_Delete U2102
! χ komplex
keycode 28 = w W asciicircum Greek_omega KP_Insert KP_Insert U03A9
! ω Ω Greek_OMEGA
keycode 29 = k K exclam U03F0 exclamdown NoSymbol radical
! ! ϰ Greek_kappa ¡ √
keycode 30 = h H less Greek_psi KP_7 KP_7 U03A8
! < ψ Ψ Greek_PSI
keycode 31 = g G greater Greek_gamma KP_8 KP_8 U0393
! > γ Γ Greek_GAMMA
keycode 32 = f F equal Greek_phi KP_9 KP_9 U03A6
! = φ Φ Greek_PHI
keycode 33 = q Q ampersand U03D5 plus NoSymbol U211A
! & ϕ Greek_phi + rational
keycode 34 = ssharp U1E9E U017F Greek_finalsmallsigma NoSymbol NoSymbol U2218
! ß ẞ Capital ß ſ long s ς ∘ ring operator
keycode 35 = dead_tilde dead_macron dead_diaeresis dead_doubleacute
! ~ ¯ " ˝
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The home row (middle row)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
keycode 38 = u U backslash NoSymbol KP_Home KP_Home U222E
! \ ∮ contour integral
keycode 39 = i I slash Greek_iota KP_Left KP_Left integral
! / ι
keycode 40 = a A braceleft Greek_alpha KP_Down KP_Down U2200
! { α ∀ for all
keycode 41 = e E braceright Greek_epsilon KP_Right KP_Right U2203
! } ε ∃ there exists
keycode 42 = o O asterisk Greek_omicron KP_End KP_End elementof
! * ο
keycode 43 = s S question Greek_sigma questiondown NoSymbol U03A3
! ? σ ¿ Σ Greek_SIGMA
keycode 44 = n N parenleft Greek_nu KP_4 KP_4 U2115
! ( ν natural
keycode 45 = r R parenright U03F1 KP_5 KP_5 U211D
! ) ϱ Greek_rho real
keycode 46 = t T minus Greek_tau KP_6 KP_6 partialderivative
! - τ ∂
keycode 47 = d D colon Greek_delta comma NoSymbol U0394
! : δ , Δ Greek_DELTA
keycode 48 = y Y at Greek_upsilon period NoSymbol nabla
! @ υ . ∇
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The lower row
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
keycode 52 = udiaeresis Udiaeresis numbersign NoSymbol Escape Escape variation
! ü Ü # ∝ proportional to
keycode 53 = odiaeresis Odiaeresis dollar NoSymbol Tab Tab U2111
! ö Ö $ imaginary part
keycode 54 = adiaeresis Adiaeresis bar Greek_eta KP_Next KP_Next U211C
! ä Ä | η real part
keycode 55 = p P asciitilde Greek_pi KP_Enter KP_Enter U03A0
! ~ π Π Greek_PI
keycode 56 = z Z grave Greek_zeta Pointer_EnableKeys Pointer_EnableKeys U2124
! ` ζ integers
keycode 57 = b B plus Greek_beta colon NoSymbol U21D2
! + β : ⇒ implies
keycode 58 = m M percent Greek_mu KP_1 KP_1 ifonlyif
! % μ ⇔
keycode 59 = comma U22EE quotedbl Greek_rho KP_2 KP_2 U21D0
! , ⋮ vert. ell. " ρ
keycode 60 = period ellipsis apostrophe U03D1 KP_3 KP_3 U0398
! . … ' ϑ Greek_theta Θ Greek_THETA
keycode 61 = j J semicolon Greek_theta semicolon NoSymbol identical
! ; θ ; ≡
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Keypad
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The uppest row
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
keycode 77 = Tab equal U2248 notequal
! = ≈ ≠
keycode 112 = slash slash division U2044
! / / ÷ (für ⁶⁄₅₉)
keycode 63 = asterisk asterisk multiply U2219
! * * ×
keycode 82 = minus minus U2212 NoSymbol
! - - real minus
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The upper row
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
keycode 79 = 7 U2714 U2195 U226A
! ✔ check mark ↕ arrow ≪ much lower-than
keycode 80 = 8 asciicircum uparrow intersection
! ^ ↑ ∩
keycode 81 = 9 U2717 U2297 U226B
! ✗ battol X ⊗ ≫ much grater-than
keycode 86 = plus NoSymbol plusminus U2213
! + ± ∓ minus-plus
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The middle row
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
keycode 83 = 4 parenleft leftarrow includedin
! ( ← ⊂
keycode 84 = 5 EuroSign infinity containsas
! € ∞ ∋
keycode 85 = 6 parenright rightarrow includes
! ) → ⊃
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The lower row
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
keycode 87 = 1 U2081 U2194 lessthanequal
! ₁ subscript-1 ↔ arrow ≤
keycode 88 = 2 U2082 downarrow union
! ₂ subscript-2 ↓
keycode 89 = 3 U2083 U21CC greaterthanequal
! ₃ subscript-3 ⇌ arrow ≥
keycode 108 = Return Tab notequal U2248
! ≠ ≈ almost equal to
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The lowest row
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
keycode 90 = 0 enfilledcircbullet percent U2030
! • itemize % ‰ per mille
keycode 91 = comma U2023 period comma
! , ‣ itemize . ,
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Anpassungen (mögliche Verbesserungen)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Es gibt naheliegende Möglichkeiten, NEO anzupassen und damit zu verbessern.
! Da sie jedoch nicht zwingend notwendige Redundanzen erzeugen und sich nicht in die
! thematischen Ordnung der Ebenen eingliedern, sind folgende Anpassungen nicht in der offiziellen
! Version von NEO berücksichtigt und müssen bewusst ermöglicht werden, indem das Ausrufezeichen zu
! Beginn der folgenden keycode-Zeile entfernt wird.
!
! Zusätzliches @-Zeichen auf Mod4+x (gleicher Handgriff wie AltGr+q auf QWERTZ)
! Dies ist insbesondere auf ergonomischen Tastaturen mit größerer Mod4 auf der linken Seite sinnvoll
! keycode 24 = x X at Greek_xi at at U039E
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Bemerkungen
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! 1.) Ebene 6 (hier: der 7. Eintrag) erreicht man über ISO_Group_Shift+ISO_Group_Shift
! (bzw. mode_switch+mode_switch) und über keine andere mir bekannte kombination. Insbesondere legt
! ISO_Level3_Shift Level3 (Ebene 4, hier: Eintrag 5) fest, verschiebt also nicht. Darum kann man
! ISO_Level3_Shift nur mit Shift sinnvoll kombinieren. Daraus resultiert, dass Ebene 6 nur über
! Mod3+Mod4 (in dieser Reihenfolge!) erreicht werden kann.
!
! 2.) Die KP_-Einträge ermöglichen die Steuerung des Mauscursors mit der Tastatur.
! Hierzu wird mittels Mod4+z dieser Betriebsmodus ein- und später wieder ausgeschaltet.
! Die Steuerung des Cursors kann über den Ziffernblock auf Ebene 4 (sinnvollerweise
! mit eingerastetem Mod4) erfolgen.
!
! 3.) Die KP_-Einträge auf der linken Seite der Ebene 4 müssen vorhanden sein, da anderenfalls Probleme
! mit (älteren) Programmen wie xterm oder xedit auftreten. Da es keinen mir bekannten Ersatz für
! Backspace gibt, funktioniert im xterm das v nicht. Wird dies benötigt, muss das Backspace (Mod4+v)
! entfernt (und z.B. durch v ersetzt) werden.
!
! 4.) Auf 0 und q (Ebene 4) muss minus und plus stehen (nicht KP_Substract und KP_Add)!
! Anderenfalls funktionieren diese Tasten unter xterm mit shift+q als Vergrößerung (Shift+KP_Add)
! und shift+0 als Verkleinerung (Shift+KP_Substract).