summaryrefslogtreecommitdiff
path: root/linux/xmodmap/neo_de_evdev.xmodmap
blob: f91f9414d8806e9f34fbf60ffbc869e20a80f034 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
!! ~/.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: 497 $, $Date: 2008-05-05 15:22:14 +0200 (Mo, 05 Mai 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 Mod3
clear Mod4

! 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. Der funktioniert aber über Shift+Shift.
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
! ISO_Lock funktioniert nicht! Weder das Einrasten, noch das Lösen
! 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_Lock
keycode 66 =  ISO_Group_Shift ISO_Group_Shift ISO_Lock

! 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
keycode 108 = 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 Mod4 = 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

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! 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


!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Tab as Multi_key (Compose)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
keycode 23 = Tab ISO_Left_Tab Multi_key


!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Space key
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
keycode 65 = space space space nobreakspace KP_0 NoSymbol 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
keycode 12 = 3 section        threesuperior malesymbol            NoSymbol    NoSymbol       logicaland
keycode 13 = 4 guillemotright U203A         U2113                 KP_Prior    KP_Prior       uptack
keycode 14 = 5 guillemotleft  U2039         dagger                NoSymbol    NoSymbol       U2221
keycode 15 = 6 EuroSign       cent          NoSymbol              sterling    NoSymbol       U2225

keycode 16 = 7 dollar               yen                  U03F0    currency    NoSymbol       notelementof
keycode 17 = 8 doublelowquotemark   singlelowquotemark   NoSymbol KP_Divide   NoSymbol       U2204
keycode 18 = 9 leftdoublequotemark  leftsinglequotemark  NoSymbol KP_Multiply NoSymbol       U2226
keycode 19 = 0 rightdoublequotemark rightsinglequotemark NoSymbol minus       NoSymbol       emptyset

keycode 20 = minus      endash      emdash               U2011    NoSymbol    NoSymbol       hyphen
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   Greek_XI
keycode 25 = v      V     underscore   NoSymbol           BackSpace  BackSpace  U2259
keycode 26 = l      L     bracketleft  Greek_lambda       KP_Up      KP_Up      Greek_LAMBDA
keycode 27 = c      C     bracketright Greek_chi          KP_Delete  KP_Delete  U2102
keycode 28 = w      W     asciicircum  Greek_omega        KP_Insert  KP_Insert  Greek_OMEGA

keycode 29 = k      K     exclam       Greek_kappa        exclamdown NoSymbol   radical
keycode 30 = h      H     less         Greek_psi          KP_7       NoSymbol   Greek_PSI
keycode 31 = g      G     greater      Greek_gamma        KP_8       NoSymbol   Greek_GAMMA
keycode 32 = f      F     equal        U03D5              KP_9       NoSymbol   Greek_PHI
keycode 33 = q      Q     ampersand    Greek_phi          plus       NoSymbol   U211A
keycode 34 = ssharp U1E9E U017F     Greek_finalsmallsigma NoSymbol   NoSymbol   jot

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
keycode 39 = i I slash      Greek_iota    KP_Left  KP_Left  integral
keycode 40 = a A braceleft  Greek_alpha   KP_Down  KP_Down  U2200
keycode 41 = e E braceright Greek_epsilon KP_Right KP_Right U2203
keycode 42 = o O asterisk   Greek_omicron KP_End   KP_End   elementof

keycode 43 = s S question   Greek_sigma   questiondown NoSymbol     Greek_SIGMA
keycode 44 = n N parenleft  Greek_nu      KP_4         NoSymbol     U2115
keycode 45 = r R parenright Greek_rho     KP_5         NoSymbol     U211D
keycode 46 = t T minus      Greek_tau     KP_6         NoSymbol     partialderivative
keycode 47 = d D colon      Greek_delta   NoSymbol     NoSymbol     Greek_DELTA
keycode 48 = y Y at         Greek_upsilon NoSymbol     NoSymbol     nabla

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The lower row
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
keycode 52 = udiaeresis Udiaeresis numbersign NoSymbol   Escape   Escape    variation
keycode 53 = odiaeresis Odiaeresis dollar     NoSymbol   Tab      Tab       U2111
keycode 54 = adiaeresis Adiaeresis bar        Greek_eta  KP_Next  KP_Next   U211C
keycode 55 = p          P          asciitilde Greek_pi   KP_Enter KP_Enter  Greek_PI
keycode 56 = z          Z          grave      Greek_zeta NoSymbol NoSymbol  U2124

keycode 57 = b      B        plus       Greek_beta  KP_Decimal NoSymbol     implies
keycode 58 = m      M        percent    Greek_mu    KP_1       NoSymbol     ifonlyif
keycode 59 = comma  U22EE    quotedbl   U03F1       KP_2       NoSymbol     U21D0
keycode 60 = period ellipsis apostrophe Greek_theta KP_3       NoSymbol     Greek_THETA
keycode 61 = j      J        semicolon  U03D1       NoSymbol   NoSymbol     identical


!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Keypad
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The uppest row
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!keycode 77 = Num_Lock Pointer_EnableKeys
keycode 106 = KP_Divide   KP_Divide   division  U2215
keycode 63  = KP_Multiply KP_Multiply multiply  U2219
keycode 82  = KP_Subtract KP_Subtract U2212     NoSymbol

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The upper row
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
keycode 79 =  KP_Home     KP_7        U2195      U226A
keycode 80 =  KP_Up       KP_8        uparrow    intersection
keycode 81 =  KP_Prior    KP_9        U2297      U226B
keycode 86 =  KP_Add      KP_Add      plusminus  U2213

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The middle row
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
keycode 83 =  KP_Left     KP_4        leftarrow  includedin
keycode 84 =  EuroSign    KP_5        infinity   containsas
keycode 85 =  KP_Right    KP_6        rightarrow includes

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The lower row
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
keycode 87 =  KP_End      KP_1        U2194      lessthanequal 
keycode 88 =  KP_Down     KP_2        downarrow  union 
keycode 89 =  KP_Next     KP_3        U21CC      greaterthanequal 
keycode 104 = KP_Enter    KP_Enter    notequal   U2248
!keysym <KPEQ> KP_Equal

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The lowest row
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
keycode 90 = KP_Insert    KP_0        percent    U2030
keycode 91 = KP_Delete    KP_Decimal  period     comma



!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! 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        Greek_XI
!
! Zusätzliches Gänsefüßchen unten („) neben dem Doppelpunkt
! Dies ist für Wörtliche Rede sinnvoll, um bei :„ oder : „ den Modifer Mod3 liegen lassen zu können
! keycode 48 = y Y doublelowquotemark Greek_upsilon y  y            nabla



!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! 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 auf Ebene 4 ermöglichen die Steuerung des Mauscursors mit der Tastatur.
!     Hierzu wird mittels Shift+Num dieser Betriebsmodus ein- und später wieder ausgeschaltet.
!     Die Steuerung des Cursors kann über den echten Ziffernblock oder den 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).