summaryrefslogtreecommitdiffstats
path: root/linux/xmodmap/neo_de.xmodmap
blob: e2cda9cf074d73ed8ecbf876dd3e963e3fea3ba6 (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
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
!! ~/.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>
!!      Pascal Hauck <pascal dot hauck at web dot de>
!! 
!! Other Questions:
!!      <mailinglist at neo-layout dot org>
!! 
!! $Revision$, $Date$
!! 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


!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! 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!)
! Ebene 7: wird (bis auf technisch bedingte Ausnahmen) nicht belegt
! Multi_key=Compose (keine eigene Ebene): Mod3+Tab or right window key
! Feststellen/Shift_Lock: Shift+Shift
! Mod4_Lock: Mod4(rechts)+Mod4(links)

! Reihenfolge der Ebenen in der Xmodmap:
!            Ebene1  Ebene2  Ebene3  Ebene5  Ebene4  Ebene4+Sh  Ebene6 Ebene7


!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Modifier definition
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
clear Lock
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
! 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 66 =  ISO_Group_Shift ISO_Group_Shift ISO_First_Group  NoSymbol
keycode 51 =  ISO_Group_Shift ISO_Group_Shift ISO_First_Group  NoSymbol

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! 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.
keysym less = ISO_Level3_Shift  ISO_Level3_Shift  ISO_Group_Shift   ISO_Group_Shift  ISO_Level3_Lock  NoSymbol
keysym ISO_Level3_Shift = ISO_Level3_Shift  ISO_Level3_Shift  ISO_Group_Shift   ISO_Group_Shift  ISO_Level3_Lock  NoSymbol

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! window keys
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! keysym Super_L = Super_L
! keycode 116 = Super_R
! keysym Multi_key = Multi_key Multi_key
! add Mod4 = Super_L

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! general Lock
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Einrasten über linke Win-Taste+Modifier, Lösen über nochmaliges Betätigen des Modifiers
! Shift_Lock und Mo4_Lock funktionieren, Mod3_Lock lässt sich aber nicht mehr lösen!!!!
! keycode 115 = ISO_Lock  NoSymbol
! add Lock = ISO_Lock


! add Mod3 = ISO_Group_Shift
! add Mod5 = ISO_Level3_Shift



!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! main keyboard
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Tab key
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
keycode 23 = Tab  ISO_Left_Tab  Multi_key  ISO_Level3_Lock

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Space key
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
keycode 65 = space  space  space  nobreakspace  KP_0  KP_0  U202F  NoSymbol

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! dead keys
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!            Ebene1		Ebene2		Ebene3		Ebene5		Ebene4		Ebene4+Sh	Ebene6		Ebene7

keycode 49 = dead_circumflex	dead_tilde	dead_abovering	dead_breve	dead_caron  Pointer_EnableKeys	dead_macron	NoSymbol
! called T1	ˆ		˜		˚		˘		ˇ	   (keypad-mouse mode)	¯
keycode 21 = dead_grave		NoSymbol	dead_diaeresis	U1FFE		NoSymbol	NoSymbol	NoSymbol	NoSymbol
! called T2	`				¨		῾ dasia (asper)
keycode 35 = dead_acute		dead_cedilla	dead_stroke	U1FBF	     dead_doubleacute	NoSymbol	dead_abovedot	NoSymbol
! called T3	´		¸		/		᾿ psili (lenis)	˝				˙



!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The first row (number Row)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!            Ebene1		Ebene2		Ebene3		Ebene5		Ebene4		Ebene4+Sh	Ebene6		Ebene7

keycode 10 = 	1		degree		onesuperior	onesubscript  	masculine   	NoSymbol	notsign		NoSymbol
!				°		¹	  	₁		º	  			¬
keycode 11 = 	2		section		twosuperior	twosubscript	ordfeminine	NoSymbol	logicalor	NoSymbol
!				§		²	  	₂		ª				∨
keycode 12 = 	3		U2113		threesuperior	threesubscript	numerosign	NoSymbol	logicaland	NoSymbol
!				ℓ liter		³	  	₃		№				∧
keycode 13 = 	4		guillemotright	U203A		dagger		Prior		Prior		downtack	NoSymbol
!				»		›		†						⊥ perpendicular
keycode 14 = 	5		guillemotleft	U2039		femalesymbol	NoSymbol	NoSymbol	U2221		NoSymbol
!				«		‹		♀						∡ angle sign
keycode 15 = 	6		EuroSign	cent		malesymbol	sterling	NoSymbol	U2225		NoSymbol
!				€		¢		♂		£				∥ parallel

keycode 16 = 	7		dollar		yen		Greek_kappa	currency	NoSymbol	rightarrow	NoSymbol
!				$		¥		κ		¤				→
keycode 17 = 	8   doublelowquotemark    singlelowquotemark	leftanglebracket  KP_Divide	KP_Divide	infinity	NoSymbol
!				„		‚		⟨ (bra)		  /		/		∞
keycode 18 = 	9   leftdoublequotemark   leftsinglequotemark	rightanglebracket KP_Multiply	KP_Multiply	containsas	NoSymbol
!				“		‘		⟩ (ket)		  *		*		∋
keycode 19 = 	0   rightdoublequotemark  rightsinglequotemark  zerosubscript	KP_Subtract	KP_Subtract	emptyset	NoSymbol
!			”			’		₀		-		-		∅
keycode 20 = minus		endash		emdash		U2011		NoSymbol	NoSymbol	hyphen		NoSymbol
!		-		–		—		‑ non-breaking					­ soft hyphen 

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The upper row
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!            Ebene1		Ebene2		Ebene3		Ebene5		Ebene4		Ebene4+Sh	Ebene6		Ebene7

keycode 24 = 	x		X		ellipsis	Greek_xi	U22EE		NoSymbol	Greek_XI	Greek_XI
!						…		ξ		⋮ vert. ell			Ξ		Ξ
keycode 25 = 	v		V		underscore	NoSymbol	BackSpace	BackSpace	U2259		NoSymbol
!						_								≙		≙
keycode 26 = 	l		L		bracketleft	Greek_lambda	Up		Up		Greek_LAMBDA	Greek_LAMBDA
!						[		λ						Λ		Λ
keycode 27 = 	c		C		bracketright	Greek_chi	Delete		Delete		U2102		NoSymbol
!						]		χ						ℂ komplex
keycode 28 = 	w		W		asciicircum	Greek_omega	Insert		Insert		Greek_OMEGA	Greek_OMEGA
!						^		ω						Ω		Ω

keycode 29 = 	k		K		exclam		U03F0		exclamdown	NoSymbol	radical		NoSymbol
!						!		ϰ Greek_kappa	¡				√
keycode 30 = 	h		H		less		Greek_psi	KP_7		KP_7		Greek_PSI	Greek_PSI
!						<		ψ						Ψ		Ψ
keycode 31 = 	g		G		greater		Greek_gamma	KP_8		KP_8		Greek_GAMMA	Greek_GAMMA
!						>		γ						Γ		Γ
keycode 32 = 	f		F		equal		Greek_phi	KP_9		KP_9		Greek_PHI	Greek_PHI
!						=		φ 						Φ		Φ
keycode 33 = 	q		Q		ampersand	U03D5		KP_Add		KP_Add		U211A		NoSymbol
!						&		ϕ Greek_phi	+		+		ℚ rational
keycode 34 = ssharp		U1E9E		U017F	 Greek_finalsmallsigma  NoSymbol	NoSymbol	jot		NoSymbol
!	     	ß		ẞ Capital ß	ſ long s	ς						∘ ring operator

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The home row (middle row)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!            Ebene1		Ebene2		Ebene3		Ebene5		Ebene4		Ebene4+Sh	Ebene6		Ebene7

keycode 38 = 	u		U		backslash	NoSymbol	Home		Home		U222E		NoSymbol
!						\								∮ contour integral
keycode 39 = 	i		I		slash		Greek_iota	Left		Left		integral	NoSymbol
!						/		ι						∫
keycode 40 = 	a		A		braceleft	Greek_alpha	Down		Down		U2200		NoSymbol
!						{		α						∀ for all
keycode 41 = 	e		E		braceright	Greek_epsilon	Right		Right		U2203		NoSymbol
!						}		ε						∃ there exists
keycode 42 = 	o		O		asterisk	Greek_omicron	End		End		elementof	NoSymbol
!						*		ο						∈

keycode 43 = 	s		S		question	Greek_sigma	questiondown	NoSymbol	Greek_SIGMA	Greek_SIGMA
!						?		σ		¿				Σ		Σ
keycode 44 = 	n		N		parenleft	Greek_nu	KP_4		KP_4		U2115		NoSymbol
!						(		ν						ℕ natural
keycode 45 = 	r		R		parenright	U03F1		KP_5		KP_5		U211D		NoSymbol
!						)		ϱ Greek_rho					ℝ real
keycode 46 = 	t		T		minus		Greek_tau	KP_6		KP_6		partialderivative
!						-		τ						∂
keycode 47 = 	d		D		colon		Greek_delta	comma		NoSymbol	Greek_DELTA	Greek_DELTA
!						:		δ		,				Δ		Δ
keycode 48 = 	y		Y		at		Greek_upsilon	period		NoSymbol	nabla		NoSymbol
!						@		υ		.				∇

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The lower row
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!            Ebene1		Ebene2		Ebene3		Ebene5		Ebene4		Ebene4+Sh	Ebene6		Ebene7

keycode 52 = udiaeresis		Udiaeresis	numbersign	NoSymbol	Escape		Escape		U211C		NoSymbol
!		ü		Ü		#								ℜ real part
keycode 53 = odiaeresis		Odiaeresis	dollar		NoSymbol	Tab		ISO_Left_Tab	U2111		NoSymbol
!		ö		Ö		$								ℑ imaginary part
keycode 54 = adiaeresis		Adiaeresis	bar		Greek_eta	Next		Next		U2135		NoSymbol
!		ä		Ä		|		η						ℵ alef symbol
keycode 55 = 	p		P		asciitilde	Greek_pi	Return		Return		Greek_PI	Greek_PI
!						~		π						Π		Π
keycode 56 = 	z		Z		grave		Greek_zeta	Undo		Redo		U2124		NoSymbol
!						`		ζ						ℤ integers

keycode 57 = 	b		B		plus		Greek_beta	colon		NoSymbol	U21D0		NoSymbol
!						+		β		:				⇐
keycode 58 = 	m		M		percent		Greek_mu	KP_1		KP_1		ifonlyif	NoSymbol
!						%		μ						⇔
keycode 59 = comma	   enfilledcircbullet	quotedbl	Greek_rho	KP_2		KP_2		U21D2		NoSymbol
!		,		•		"		ρ						⇒ implies 
keycode 60 = period		U2023		apostrophe	U03D1		KP_3		KP_3		Greek_THETA	Greek_THETA
!		.		‣		'		ϑ Greek_theta					Θ
keycode 61 = 	j		J		semicolon	Greek_theta	semicolon	NoSymbol	variation	NoSymbol
!						;		θ		;				∝ proportional to



!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Keypad
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The uppest row
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!            Ebene1		Ebene2		Ebene3		Ebene5		Ebene6		Ebene7

keycode 77  = Tab 		ISO_Left_Tab	equal		approxeq	identical	NoSymbol
!						=		≈ almost equal	≡ identical to
keysym KP_Divide = KP_Divide		KP_Divide	division	U2300		U2223		NoSymbol
!		/		/		÷		⌀ diameter	∣ divides
keycode 63  = KP_Multiply	KP_Multiply	U22C5		U2299		U2297		NoSymbol
!		*		*		⋅ dot		⊙ cirled dot	⊗ circled times
keycode 82  = KP_Subtract	KP_Subtract	U2212		U2296		U2238		NoSymbol
!		-		-		− real minus	⊖ cirled minus	∸ dot minus

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The upper row
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!            Ebene1		Ebene2		Ebene3		Ebene5		Ebene6		Ebene7

keycode 79 =  KP_7		U2714		U2195		U226A		upstile		NoSymbol
!				✔ check mark	↕ arrow		≪ much less	⌈
keycode 80 =  KP_8		U2718		uparrow		intersection	U22C2		NoSymbol
!				✘ ballot x	↑		∩		⋂ n-ary intersection
keycode 81 =  KP_9		NoSymbol	U20D7		U226B		U2309		NoSymbol
!						vector		≫ much greater	⌉
keycode 86 =  KP_Add		KP_Add		plusminus	U2295		U2214		NoSymbol
!		+		+		±		circled plus	dot plus

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The middle row
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!            Ebene1		Ebene2		Ebene3		Ebene5		Ebene6		Ebene7

keycode 83 =  KP_4		club		leftarrow	includedin	U2286		NoSymbol
!				♣		←		⊂		⊆
keycode 84 =  KP_5		EuroSign	brokenbar	U22B6 		U22B7		NoSymbol
!				€		¦		⊶ original of	⊷ image of
keycode 85 =  KP_6		NoSymbol	rightarrow	includes	U2287		NoSymbol
!						→		⊃		⊇

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The lower row
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!            Ebene1		Ebene2		Ebene3		Ebene5		Ebene6		Ebene7

keycode 87 =  KP_1		diamond		U2194		lessthanequal	downstile	NoSymbol
!				♦		↔ arrow		≤		⌊
keycode 88 =  KP_2		heart		downarrow	union		U22C3		NoSymbol
!				♥		↓		∪		⋃ n-ary union
keycode 89 =  KP_3		U2660		U21CC	      greaterthanequal	U230B		NoSymbol
!				♠		⇌		≥		⌋
! keycode 108 = KP_Enter		KP_Enter	KP_Enter	KP_Enter	KP_Enter	KP_Enter
!								


!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The lowest row
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!            Ebene1		Ebene2		Ebene3		Ebene5		Ebene6		Ebene7

keycode 90 = KP_0		U2423		percent		U2030		U25A1		NoSymbol
!				␣ space sign	%		‰ per mille	□ white square
keycode 91 = comma		period		KP_Separator	minutes		seconds		NoSymbol
!		,		.		,/.		′ min,feets	″ sec,inches




!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! 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+ß dieser Betriebsmodus ein- und später wieder ausgeschaltet.
!     Die Steuerung des Cursors kann über den Ziffernblock (Ebene 4, eventuell mit
!     eingerastetem Mod4) erfolgen.