After Width: | Height: | Size: 18 KiB |
@ -0,0 +1,97 @@ |
||||
!! ~/.Xmodmap |
||||
!! |
||||
!! created by Benjamin Scholz |
||||
!! |
||||
!! The german NEO Layout |
||||
!! see http://pebbles.schattenlauf.de/layout/index.html for details |
||||
!! |
||||
!! this Layout depends on a running qwertz-de Layout |
||||
!! mostly type "setxkbmap de" to set a qwertz-de Layout |
||||
!! |
||||
!! 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 (named .Xmodmap in your home directory) |
||||
|
||||
!! number Row |
||||
keysym dead_circumflex = dead_circumflex degree dead_circumflex degree notsign paragraph |
||||
|
||||
!!seen on SUN Keyboard or if you have "nodeadkeys" on. Comment the next line in and the previous out |
||||
!!keysym asciicircum = dead_circumflex degree dead_circumflex degree notsign paragraph |
||||
|
||||
keysym 1 = 1 exclam 1 exclam exclamdown onesuperior |
||||
keysym 2 = 2 quotedbl 2 quotedbl dead_diaeresis |
||||
keysym 3 = 3 paragraph 3 paragraph sterling |
||||
keysym 4 = 4 dollar 4 dollar currency |
||||
keysym 5 = 5 percent 5 percent bar |
||||
keysym 6 = 6 ampersand 6 ampersand brokenbar |
||||
|
||||
keysym 7 = 7 slash 7 slash braceleft |
||||
keysym 8 = 8 parenleft 8 parenleft bracketleft |
||||
keysym 9 = 9 parenright 9 parenright bracketright |
||||
keysym 0 = 0 equal 0 equal braceright |
||||
keysym ssharp = minus underscore minus underscore |
||||
|
||||
keysym dead_acute = dead_acute dead_grave dead_cedilla dead_ogonek |
||||
!! seen on SUN Keyboard. Comment the next line in and the previous out |
||||
!!keysym SunFA_Acute = dead_acute dead_grave dead_cedilla dead_ogonek |
||||
!! if you have "nodeadkeys" on. Comment the next line in and the previous out |
||||
!!keysym acute = dead_acute dead_grave dead_cedilla dead_ogonek |
||||
|
||||
|
||||
!! upper Row |
||||
keysym q = q Q q Q at dead_diaeresis |
||||
keysym w = v V v V masculine ordfeminine |
||||
keysym e = l L l L lstroke Lstroke |
||||
keysym r = c C c C ccedilla copyright |
||||
keysym t = w W w W Greek_omega Greek_OMEGA |
||||
|
||||
keysym z = k K k K Greek_kappa Greek_KAPPA |
||||
keysym u = h H h H Greek_epsilon Greek_EPSILON |
||||
keysym i = g G g G Greek_gamma Greek_GAMMA |
||||
keysym o = f F f F ordfeminine |
||||
keysym p = j J j J Greek_iota Greek_IOTA |
||||
keysym udiaeresis = ssharp question backslash questiondown |
||||
keysym plus = plus asterisk plus asterisk dead_tilde plusminus |
||||
|
||||
|
||||
!! home Row |
||||
keysym a = u U u U Greek_delta Greek_DELTA |
||||
keysym s = i I i I idotless Iabovedot |
||||
keysym d = a A a A at Greek_alpha |
||||
keysym f = e E e E EuroSign cent |
||||
keysym g = o O o O oslash Ooblique |
||||
|
||||
keysym h = s S s S Greek_sigma Greek_SIGMA |
||||
keysym j = n N n N Greek_nu Greek_NU |
||||
keysym k = r R r R registered trademark |
||||
keysym l = t T t T Greek_theta Greek_THETA |
||||
keysym odiaeresis = d D d D eth ETH |
||||
keysym adiaeresis = y Y y Y yen |
||||
keysym numbersign = numbersign apostrophe numbersign apostrophe grave dead_breve |
||||
|
||||
|
||||
!! lower Row |
||||
keysym less = less greater less greater guillemotleft guillemotright |
||||
keysym y = odiaeresis Odiaeresis odiaeresis Odiaeresis oe OE |
||||
keysym x = udiaeresis Udiaeresis udiaeresis Udiaeresis apostrophe asciitilde |
||||
keysym c = adiaeresis Adiaeresis adiaeresis Adiaeresis ae AE |
||||
keysym v = p P p P thorn THORN |
||||
keysym b = z Z z Z Greek_zeta Greek_ZETA |
||||
|
||||
keysym n = b B b B Greek_beta Greek_BETA |
||||
keysym m = m M m M Greek_mu Greek_MU |
||||
keysym comma = comma semicolon comma semicolon dead_cedilla cedilla |
||||
keysym period = period colon period colon periodcentered |
||||
keysym minus = x X x X multiply |
||||
|
||||
|
||||
!! Make caps lock an additional Alt_Gr |
||||
!remove Lock = Caps_Lock |
||||
!keysym Caps_Lock = ISO_Level3_Shift |
||||
|
||||
|
||||
!! Make caps lock an additional left control |
||||
!remove Lock = Caps_Lock |
||||
!keysym Caps_Lock = Control_L |
||||
!add Control = Control_L |
||||
|
@ -0,0 +1,106 @@ |
||||
// German NEO Eurokeys-Style |
||||
// adopted 2004 by Hanno Behrens <Hanno.Behrens@gmx.de> |
||||
// inspired by Dvorak/de-ergo http://www.goebel-consult.de/de-ergo/ |
||||
// Modifications: []{}()%$\="* at nicer places, whole Greek alphabet |
||||
// available (except digamma) |
||||
|
||||
partial default alphanumeric_keys |
||||
xkb_symbols "neo" { |
||||
|
||||
//include "pc/de(basic)" |
||||
include "pc/dvorak(basic)" |
||||
//include "pc/latin(type4)" |
||||
include "level3(ralt_switch_multikey)" |
||||
|
||||
name[Group1]= "German Neostyle"; |
||||
|
||||
key <TLDE> { [ circumflex, degree, notsign, paragraph ] }; |
||||
|
||||
key <AE01> { [ 1, exclam, onesuperior ] }; |
||||
key <AE02> { [ 2, quotedbl, twosuperior ] }; |
||||
key <AE03> { [ 3, paragraph, sterling, threesuperior ] }; |
||||
key <AE04> { [ 4, Greek_alpha, Greek_ALPHA, onequarter ] }; |
||||
key <AE05> { [ 5, equal, bar, onehalf ] }; |
||||
key <AE06> { [ 6, ampersand, brokenbar, threequarters ] }; |
||||
key <AE07> { [ 7, slash, division ] }; |
||||
key <AE08> { [ 8, Greek_theta, Greek_THETA, guillemotleft ] }; |
||||
key <AE09> { [ 9, Greek_rho, Greek_RHO, guillemotright ] }; |
||||
key <AE10> { [ 0, Greek_omega, Greek_OMEGA ] }; |
||||
key <AE11> { [ minus, underscore, hyphen, dead_diaeresis ] }; |
||||
key <AE12> { [ acute,grave, cedilla, ogonek ] }; |
||||
|
||||
key <AD01> { [ q, Q, at ] }; |
||||
key <AD02> { [ v, V, quotedbl, ordfeminine ] }; |
||||
key <AD03> { [ l, L, parenleft, Lstroke ] }; |
||||
key <AD04> { [ c, C, parenright,copyright ] }; |
||||
key <AD05> { [ w, W, percent ] }; |
||||
key <AD06> { [ k, K, Greek_kappa, Greek_KAPPA ] }; |
||||
key <AD07> { [ h, H, Greek_eta, Greek_ETA ] }; |
||||
key <AD08> { [ g, G, Greek_gamma, Greek_GAMMA ] }; |
||||
key <AD09> { [ f, F, Greek_omicron, Greek_OMICRON ] }; |
||||
key <AD10> { [ j, J, Greek_iota, Greek_IOTA ] }; |
||||
key <AD11> { [ ssharp, question, backslash, questiondown ] }; |
||||
key <AD12> { [ asterisk, plus, tilde, plusminus ] }; |
||||
|
||||
key <AC01> { [ u, U, bracketleft ] }; |
||||
key <AC02> { [ i, I, bracketright ] }; |
||||
key <AC03> { [ a, A, braceleft ] }; |
||||
key <AC04> { [ e, E, braceright, euro ] }; |
||||
key <AC05> { [ o, O, dollar ] }; |
||||
key <AC06> { [ s, S, Greek_sigma, Greek_SIGMA ] }; |
||||
key <AC07> { [ n, N, Greek_nu, Greek_NU ] }; |
||||
key <AC08> { [ r, R, Greek_pi, Greek_PI ] }; |
||||
key <AC09> { [ t, T, Greek_tau, Greek_TAU ] }; |
||||
key <AC10> { [ d, D, Greek_delta, Greek_DELTA ] }; |
||||
key <AC11> { [ y, Y, Greek_upsilon, Greek_UPSILON ] }; |
||||
key <BKSL> { [ numbersign, apostrophe, grave ] }; |
||||
|
||||
|
||||
key <LSGT> { [ less, greater, bar ] }; |
||||
key <AB01> { [ odiaeresis, Odiaeresis, Greek_epsilon, Greek_EPSILON ] }; |
||||
key <AB02> { [ udiaeresis,Udiaeresis, Greek_lambda, Greek_LAMBDA ] }; |
||||
key <AB03> { [ adiaeresis, Adiaeresis, Greek_xi, Greek_XI ] }; |
||||
key <AB04> { [ p, P, backslash, THORN ] }; |
||||
key <AB05> { [ z, Z, Greek_zeta, Greek_ZETA ] }; |
||||
key <AB06> { [ b, B, Greek_beta, Greek_BETA ] }; |
||||
key <AB07> { [ m, M, Greek_mu, Greek_MU ] }; |
||||
key <AB08> { [ comma, semicolon, Greek_phi, Greek_PHI ] }; |
||||
key <AB09> { [ period, colon, Greek_psi, Greek_PSI ] }; |
||||
key <AB10> { [ x, X, Greek_chi, Greek_CHI ] }; |
||||
|
||||
key <SPCE> { [ space, space, nobreakspace, nobreakspace ] }; |
||||
|
||||
|
||||
// End "Editing" section, begin "Keypad" |
||||
// key <NMLK> { [ Num_Lock, Pointer_EnableKeys ] }; |
||||
|
||||
// Ungrab cancels server/keyboard/pointer grabs |
||||
// key <KPDV> { [KP_Divide, KP_Divide, division] }; |
||||
|
||||
// ClsGrb kills whichever client has a grab in effect |
||||
// key <KPMU> { [KP_Multiply, KP_Multiply, periodcentered] }; |
||||
|
||||
// -VMode switches to the previous video mode |
||||
// key <KPSU> { [ KP_Subtract, KP_Subtract, notsign] }; |
||||
|
||||
key <KP7> { [ KP_Home, KP_7, seveneighths, oneeighth ] }; |
||||
key <KP8> { [ KP_Up, KP_8, uparrow, fiveeighths ] }; |
||||
key <KP9> { [ KP_Prior, KP_9, threeeighths, threeeighths ] }; |
||||
|
||||
// +VMode switches to the next video mode |
||||
// key <KPAD> { [ KP_Add, KP_Add, plusminus ] }; |
||||
|
||||
key <KP4> { [ KP_Left, KP_4, leftarrow, onequarter ] }; |
||||
key <KP5> { [ KP_Begin, KP_5, dagger, onehalf ] }; |
||||
key <KP6> { [ KP_Right, KP_6, rightarrow, threequarters ] }; |
||||
|
||||
key <KP1> { [ KP_End, KP_1, onesuperior, onesuperior ] }; |
||||
key <KP2> { [ KP_Down, KP_2, downarrow, twosuperior ] }; |
||||
key <KP3> { [ KP_Next, KP_3, threesuperior, threesuperior ] }; |
||||
key <KPEN> { [ KP_Enter ] }; |
||||
key <KPEQ> { [ KP_Equal ] }; |
||||
|
||||
key <KP0> { [ KP_Insert, KP_0, percent, degree ] }; |
||||
key <KPDL> { [ KP_Delete, KP_Decimal, periodcentered, comma ] }; |
||||
// End "Keypad" section |
||||
}; |
@ -0,0 +1,141 @@ |
||||
;NEO-Layout für C64 |
||||
;(C) 2005 Hanno Behrens (pebbles@schattenlauf.de) |
||||
;unter GPL |
||||
;Alpha-Release 0.1 |
||||
|
||||
!to "neo-layout.prg" |
||||
|
||||
!source <C64/BASIC2.a> |
||||
|
||||
*=$0801 |
||||
|
||||
dest =$c000 |
||||
|
||||
ptr1 =$f7 |
||||
ptr2 =$f9 |
||||
|
||||
zp_pkeydec =$028f |
||||
zp_keymap =$f5 |
||||
k_keydec =$eb48 |
||||
k_keytablen =$41 |
||||
k_keytab1 =$eb81 |
||||
k_keytab2 =$ebc2 |
||||
k_keytab3 =$ec03 |
||||
k_keytab4 =$ec78 |
||||
|
||||
k_decode =$eae0 |
||||
|
||||
;Header generieren |
||||
!word endline ;Zeiger auf nächste Zeile |
||||
!word 2005 ;Zeilennummer |
||||
+b_SYS |
||||
!tx "2061",0 |
||||
endline !word 0 |
||||
;Ende Header |
||||
|
||||
setup: |
||||
ldy #0 ;kopiere neo nach dest |
||||
set1: lda neoentry,y |
||||
sta dest,y |
||||
lda neoentry+$100,y |
||||
sta dest+$100,y |
||||
iny |
||||
bne set1 |
||||
|
||||
sei ;setze keydecoder |
||||
lda #<dest |
||||
sta zp_pkeydec |
||||
lda #>dest |
||||
sta zp_pkeydec+1 |
||||
cli |
||||
rts |
||||
|
||||
neoentry: |
||||
lda $028d ;Flag Shift CTRL Commodore |
||||
cmp #$03 |
||||
bne l1 ;Zeiger auf Dekodiertabellen berechnen |
||||
cmp $028e |
||||
beq abfrage_default |
||||
lda $0291 ;Shift-Commodore erlaubt? |
||||
bmi fertig ;nein, zurück zur Dekodierung |
||||
lda $d018 ;Shift/Commodore |
||||
eor #$02 ;Umschaltung Klein/Großschreibung |
||||
sta $d018 |
||||
jmp fertig |
||||
|
||||
l1 asl |
||||
cmp #$08 |
||||
bcc l2 |
||||
lda #$06 |
||||
l2 tax |
||||
lda tableptr-neoentry+dest,x |
||||
sta zp_keymap ;Zeiger auf Tastatur-Dekodiertabellen lesen |
||||
lda tableptr-neoentry+dest+1,x |
||||
sta zp_keymap+1 |
||||
|
||||
fertig: jmp k_decode ;zurück zur Dekodierung |
||||
|
||||
abfrage_default: |
||||
lda #$7f |
||||
sta $dc00 |
||||
rts |
||||
|
||||
tableptr: |
||||
!word table1-neoentry+dest, table2-neoentry+dest |
||||
!word table3-neoentry+dest, table4-neoentry+dest |
||||
|
||||
!ct pet |
||||
table1 ;Tastatur-Dekodierung, ungeshiftet |
||||
!by $14, $0d, $1d, $88, $85, $86, $87, $11 |
||||
; !by "3", "w", "a", "4", "z", "s", "e", $01 |
||||
!by "3", "v", "u", "4", "k", "i", "l", $01 |
||||
; !by "5", "r", "d", "6", "c", "f", "t", "x" |
||||
!by "5", "c", "a", "6", "@", "e", "w", ">" |
||||
; !by "7", "y", "g", "8", "b", "h", "u", "v" |
||||
!by "7", "<", "o", "8", "z", "s", "h", "p" |
||||
; !by "9", "i", "j", "0", "m", "k", "o", "n" |
||||
!by "9", "g", "n", "0", "m", "r", "f", "b" |
||||
; !by "+", "p", "l", "-", ".", ":", "@", "," |
||||
!by "+", "j", "t", "-", ".", "d", "/", "," |
||||
; !by $5c, "*", ";", $13, $01, "=", $5e, "/" |
||||
!by $5c, "*", "y", $13, $01, "=", $5e, "x" |
||||
!by "1", $5f, $04, "2", " ", $02, "q", $03 |
||||
!by $ff |
||||
table2 ;Tastatur-Dekodierung geshifted |
||||
!by $94, $8d, $9d, $8c, $89, $8a, $8b, $91 |
||||
; !by "#", "W", "A", "$", "Z", "S", "E", $01 |
||||
!by "#", "V", "U", "$", "K", "I", "L", $01 |
||||
; !by "%", "R", "D", "&", "C", "F", "T", "X" |
||||
!by "%", "C", "A", "&", $ba, "E", "W", "]" |
||||
; !by "'", "Y", "G", "(", "B", "H", "U", "V" |
||||
!by "'", "[", "O", "(", "Z", "S", "H", "P" |
||||
; !by ")", "I", "J", "0", "M", "K", "O", "N" |
||||
!by ")", "G", "N", "0", "M", "R", "F", "B" |
||||
; !by $db, $d0, $cc, $dd, ">", "[", $ba, "<" |
||||
!by $db, $d0, $cc, $dd, ":", "D", "?", ";" |
||||
; !by $a9, $c0, "]", $93, $01, "=", $de, "?" |
||||
!by $a9, $c0, "Y", $93, $01, $3d, $de, "X" |
||||
!by $21, $5f, $04, $22, $a0, $02, "Q", $83 |
||||
!by $ff |
||||
|
||||
table3 ;Tastatur-Dekodierung mit C=-Taste |
||||
!by $94, $8d, $9d, $8c, $89, $8a, $8b, $91 |
||||
!by $96, $b3, $b0, $97, $ad, $ae, $b1, $01 |
||||
!by $98, $b2, $ac, $99, $bc, $bb, $a3, $bd |
||||
!by $9a, $b7, $a5, $9b, $bf, $b4, $b8, $be |
||||
!by $29, $a2, $b5, $30, $a7, $a1, $b9, $aa |
||||
!by $a6, $af, $b6, $dc, $3e, $5b, $a4, $3c |
||||
!by $a8, $df, $5d, $93, $01, $3d, $de, $3f |
||||
!by $81, $5f, $04, $95, $a0, $02, $ab, $83 |
||||
!by $ff |
||||
|
||||
table4 ;Tastatur-Dekodierung mit CTRL-Taste |
||||
!by $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff |
||||
!by $1c, $17, $01, $9f, $1a, $13, $05, $ff |
||||
!by $9c, $12, $04, $1e, $03, $06, $14, $18 |
||||
!by $1f, $19, $07, $9e, $02, $08, $15, $16 |
||||
!by $12, $09, $0a, $92, $0d, $0b, $0f, $0e |
||||
!by $ff, $10, $0c, $ff, $ff, $1b, $00, $ff |
||||
!by $1c, $ff, $1d, $ff, $ff, $1f, $1e, $ff |
||||
!by $90, $06, $ff, $05, $ff, $ff, $11, $ff |
||||
!by $ff |
@ -0,0 +1,31 @@ |
||||
= C64 Neo-Tastaturtreiber = |
||||
Auch für den alten 64er ist jetzt ein Neo-Tastaturtreiber zu haben. Der Treiber (Version 1.0 von Neo, nicht das aktuellen Neo 2) befindet sich in einem Alphastadium, also ist weitgehend ungetestet, da ich hier zur Zeit noch keine Möglichkeit habe, die Dateien auf einen echten C64 zu übertragen (bitte berichten, wenn es Erfolge gibt). Deshalb beschränkt sich der (erfolgreiche) Test bislang auf den C64-Emulator VICE. |
||||
|
||||
Programmiert sind sie mit Hilfe von ACME (mehr zum 65xx-Crossassembler ACME findet man in der 64er-Ecke). |
||||
|
||||
== Treiberdateien == |
||||
Die Treiberdateien und Quellen dazu gibt es hier: commodore64. Benötigt wird für den Betrieb nur die Datei neo-layout.prg. |
||||
|
||||
== Wie aktivieren == |
||||
Zum Treiber ist nicht viel zu sagen, außer dass er ganz normal mit |
||||
LOAD "NEO-LAYOUT.PRG", 8 |
||||
geladen werden kann und mit |
||||
RUN |
||||
gestartet wird. Die Treiberroutine kopiert sich daraufhin nach $c000 (12*4096) und aktiviert sich. |
||||
|
||||
== Wie deaktivieren == |
||||
Ausschalten lässt sich der Treiber einfach durch den Run/Stop-Restore-Warmstart. |
||||
|
||||
== Probleme und TODO == |
||||
Da der 64er-Emulator VICE, den ich für die Entwicklung benutzt habe, seine Tastatur etwas seltsam belegt, lässt sich für mich nicht eindeutig bestimmen, ob alle Tasten richtig kommen. Außerdem enthält das Neo-Layout normalerweise deutsche Sonderzeichen, die beim C64 allerdings nicht vorhanden sind. Daher wurden auf die entsprechenden Tasten Klammern und dergleichen gelegt. |
||||
|
||||
Ebenfalls wurde die CTRL-Ebene für diesen Alphaversion noch nicht angepasst. Erstmal abwarten, ob sich jemand dafür interessiert, bevor ich mir die Mühe mache. |
||||
|
||||
Es macht ebenfalls kaum Mühe einen entsprechend gepatchten Kernel zu erstellen, indem man die Layout-Tabellen einfach an die entsprechende Stelle kopiert. Für eine Alphaversion ging mir das allerdings erstmal zu weit. |
||||
|
||||
== Randbemerkungen == |
||||
Man findet als Anfang vom Assemblerprogramm einen trickreichen Aufbau, der auch auf andere solche Programme übertragbar ist. Der Basic-Aufruf der Startroutine per SYS und Zeilennummern und die ganze Struktur ist schon in der Assemblerdatei fertig gemacht. |
||||
|
||||
Wenn man dest anders legt, kann der Neo-Treiber eigentlich an jede beliebige Stelle im Speicher installiert werden, solange keine Bankswitches und Memorymappings über das Prozessorregister dafür notwendig werden. |
||||
|
||||
In den Keytabellen habe ich die Originalzeilen mit einem Semikolon (;) als Kommentar ausgeklammert, damit man sehen kann auf welche Originalzeichen die entsprechenden Neo-Zeichen belegt wurden. Fehler lassen sich so leichter finden und korrigieren. |
After Width: | Height: | Size: 54 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 41 KiB |
After Width: | Height: | Size: 12 KiB |
@ -0,0 +1,202 @@ |
||||
data 'uchr' (5001, "Deutsch (Neo)", sysheap, purgeable) { |
||||
$"1002 0100 0000 0028 0000 0001 0000 0000" /* .......(........ */ |
||||
$"0000 0000 0000 0030 0000 0138 0000 0960" /* .......0...8...` */ |
||||
$"0000 0c60 0000 0c78 2001 0000 0000 0002" /* ...`...x ....... */ |
||||
$"3001 0000 0000 0100 0006 0106 0206 0106" /* 0............... */ |
||||
$"0306 0406 0506 0406 0706 0706 0706 0706" /* ................ */ |
||||
$"0706 0706 0706 0706 0106 0106 0106 0106" /* ................ */ |
||||
$"0406 0406 0406 0406 0706 0706 0706 0706" /* ................ */ |
||||
$"0706 0706 0706 0706 0306 0406 0506 0406" /* ................ */ |
||||
$"0306 0406 0506 0406 0706 0706 0706 0706" /* ................ */ |
||||
$"0706 0706 0706 0706 0406 0406 0406 0406" /* ................ */ |
||||
$"0406 0406 0406 0406 0706 0706 0706 0706" /* ................ */ |
||||
$"0706 0706 0706 0706 0706 0706 0706 0706" /* ................ */ |
||||
$"0706 0706 0706 0706 0706 0706 0706 0706" /* ................ */ |
||||
$"0706 0706 0706 0706 0706 0706 0706 0706" /* ................ */ |
||||
$"0706 0706 0706 0706 0706 0706 0706 0706" /* ................ */ |
||||
$"0706 0706 0706 0706 0706 0706 0706 0706" /* ................ */ |
||||
$"0706 0706 0706 0706 0706 0706 0706 0706" /* ................ */ |
||||
$"0706 0706 0706 0706 0706 0706 0706 0706" /* ................ */ |
||||
$"0706 0706 0706 0706 0706 0706 0706 0706" /* ................ */ |
||||
$"0706 0706 0706 0706 4001 0080 0000 0008" /* ........@....... */ |
||||
$"0000 0160 0000 0260 0000 0360 0000 0460" /* ...`...`...`...` */ |
||||
$"0000 0560 0000 0660 0000 0760 0000 0860" /* ...`...`...`...` */ |
||||
$"400b 400f 4009 4011 0073 400a 00f6 00fc" /* @.@.@.@..s@..... */ |
||||
$"00e4 0070 4003 401e 0071 0076 401c 0063" /* ...p@.@..q.v@..c */ |
||||
$"006b 0077 0031 0032 0033 0034 0036 0035" /* .k.w.1.2.3.4.6.5 */ |
||||
$"4002 0039 0037 002d 0038 0030 002b 0066" /* @..9.7.-.8.0.+.f */ |
||||
$"0068 00df 0067 006a 000d 0074 4017 4019" /* .h...g.j...t@.@. */ |
||||
$"0072 0064 0023 002c 0078 0062 006d 002e" /* .r.d.#.,.x.b.m.. */ |
||||
$"0009 4015 003c 0008 0003 001b ffff ffff" /* ..@..<.......... */ |
||||
$"ffff ffff ffff ffff ffff ffff ffff ffff" /* ................ */ |
||||
$"ffff ffff 001d ffff ffff ffff 001c 001b" /* ................ */ |
||||
$"001f ffff ffff ffff 0003 001e ffff ffff" /* ................ */ |
||||
$"ffff ffff ffff ffff ffff ffff ffff ffff" /* ................ */ |
||||
$"ffff ffff ffff ffff ffff ffff ffff ffff" /* ................ */ |
||||
$"0010 0010 0010 0010 0010 0010 4015 0010" /* ............@... */ |
||||
$"4015 0010 0010 0010 0010 0010 0010 0010" /* @............... */ |
||||
$"0010 0010 0005 0001 000b 007f 0010 0004" /* ................ */ |
||||
$"0010 000c 0010 001c 001d 001f 001e ffff" /* ................ */ |
||||
$"400e 4010 400c 4012 0053 400d 00d6 00dc" /* @.@.@.@..S@..... */ |
||||
$"00c4 0050 4005 401d 0051 0056 401b 0043" /* ...P@.@..Q.V@..C */ |
||||
$"004b 0057 0021 4013 00a7 0024 0026 0025" /* .K.W.!@....$.&.% */ |
||||
$"4008 0029 002f 005f 0028 003d 002a 0046" /* @..)./._.(.=.*.F */ |
||||
$"0048 003f 0047 004a 000d 0054 4018 401a" /* .H.?.G.J...T@.@. */ |
||||
$"0052 0044 4014 003b 0058 0042 004d 003a" /* .R.D@..;.X.B.M.: */ |
||||
$"0009 4015 00b0 0008 0003 001b ffff ffff" /* ..@............. */ |
||||
$"ffff ffff ffff ffff ffff ffff ffff ffff" /* ................ */ |
||||
$"ffff ffff 002a ffff ffff ffff 002b 001b" /* .....*.......+.. */ |
||||
$"003d ffff ffff ffff 0003 002f ffff ffff" /* .=........./.... */ |
||||
$"ffff ffff ffff ffff ffff ffff ffff ffff" /* ................ */ |
||||
$"ffff ffff ffff ffff ffff ffff ffff ffff" /* ................ */ |
||||
$"0010 0010 0010 0010 0010 0010 4015 0010" /* ............@... */ |
||||
$"4015 0010 0010 0010 0010 0010 0010 0010" /* @............... */ |
||||
$"0010 0010 0005 0001 000b 007f 0010 0004" /* ................ */ |
||||
$"0010 000c 0010 001c 001d 001f 001e ffff" /* ................ */ |
||||
$"400e 4010 400c 4012 0053 400d 00d6 00dc" /* @.@.@.@..S@..... */ |
||||
$"00c4 0050 4005 401d 0051 0056 401b 0043" /* ...P@.@..Q.V@..C */ |
||||
$"004b 0057 0021 4013 00a7 0024 0026 0025" /* .K.W.!@....$.&.% */ |
||||
$"4004 0029 002f 005f 0028 003d 002a 0046" /* @..)./._.(.=.*.F */ |
||||
$"0048 003f 0047 004a 000d 0054 4018 401a" /* .H.?.G.J...T@.@. */ |
||||
$"0052 0044 4014 003b 0058 0042 004d 003a" /* .R.D@..;.X.B.M.: */ |
||||
$"0009 4015 003e 0008 0003 001b 0000 0000" /* ..@..>.......... */ |
||||
$"0000 0000 0000 0000 0000 0000 0000 0000" /* ................ */ |
||||
$"0000 ffff 001d ffff 0000 ffff 001c 001b" /* ................ */ |
||||
$"001f 0000 0000 ffff 0003 001e ffff 0000" /* ................ */ |
||||
$"0000 ffff ffff ffff ffff ffff ffff ffff" /* ................ */ |
||||
$"ffff ffff 0000 ffff ffff ffff ffff ffff" /* ................ */ |
||||
$"0010 0010 0010 0010 0010 0010 4015 0010" /* ............@... */ |
||||
$"4015 0010 0010 0010 0010 0010 0010 0010" /* @............... */ |
||||
$"0010 0010 0005 0001 000b 007f 0010 0004" /* ................ */ |
||||
$"0010 000c 0010 001c 001d 001f 001e ffff" /* ................ */ |
||||
$"03b4 0131 0040 20ac 03c3 00f8 0153 4014" /* ...1.@ ......S@. */ |
||||
$"00e6 00fe 00ac 03b6 0040 00ba 0142 00e7" /* .........@...B.. */ |
||||
$"03ba 03c9 00a1 4000 00a3 00a4 00a6 007c" /* ......@........| */ |
||||
$"00b8 005d 007b 002d 005b 007d 4001 00aa" /* ...].{.-.[.}@... */ |
||||
$"03b5 005c 03b3 03b9 000d 00fe 03bd 00a5" /* ...\............ */ |
||||
$"00ae 00f0 0060 00b8 00d7 03b2 00b5 00b7" /* .....`.......... */ |
||||
$"0009 00a0 00ab 0008 0003 001b ffff ffff" /* ................ */ |
||||
$"ffff ffff ffff ffff ffff ffff ffff ffff" /* ................ */ |
||||
$"ffff ffff 001d ffff ffff ffff 001c 001b" /* ................ */ |
||||
$"001f ffff ffff ffff 0003 001e ffff ffff" /* ................ */ |
||||
$"ffff ffff ffff ffff ffff ffff ffff ffff" /* ................ */ |
||||
$"ffff ffff ffff ffff ffff ffff ffff ffff" /* ................ */ |
||||
$"0010 0010 0010 0010 0010 0010 4015 0010" /* ............@... */ |
||||
$"4015 0010 0010 0010 0010 0010 0010 0010" /* @............... */ |
||||
$"0010 0010 0005 0001 000b 007f 0010 0004" /* ................ */ |
||||
$"0010 000c 0010 001c 001d 001f 001e ffff" /* ................ */ |
||||
$"0394 0130 03b1 00a2 03a3 00d8 0152 4016" /* ...0.........R@. */ |
||||
$"00c6 00de 4007 0396 ffff 00aa 0141 00a9" /* ....@........A.. */ |
||||
$"039a 03a9 00b9 00b2 00b3 00bc 00be 00bd" /* ................ */ |
||||
$"00b8 00bb 00f7 4013 00ab ffff 00b1 00aa" /* ......@......... */ |
||||
$"0395 00bf 0393 0399 000d 00de 039d 00a5" /* ................ */ |
||||
$"2122 00d0 ffff 00b8 221e 0392 039c 4006" /* !"......".....@. */ |
||||
$"0009 00a0 00bb 0008 0003 001b ffff ffff" /* ................ */ |
||||
$"ffff ffff ffff ffff ffff ffff ffff ffff" /* ................ */ |
||||
$"ffff ffff 002a ffff ffff ffff 002b 001b" /* .....*.......+.. */ |
||||
$"003d ffff ffff ffff 0003 002f ffff ffff" /* .=........./.... */ |
||||
$"ffff ffff ffff ffff ffff ffff ffff ffff" /* ................ */ |
||||
$"ffff ffff ffff ffff ffff ffff ffff ffff" /* ................ */ |
||||
$"0010 0010 0010 0010 0010 0010 4015 0010" /* ............@... */ |
||||
$"4015 0010 0010 0010 0010 0010 0010 0010" /* @............... */ |
||||
$"0010 0010 0005 0001 000b 007f 0010 0004" /* ................ */ |
||||
$"0010 000c 0010 001c 001d 001f 001e ffff" /* ................ */ |
||||
$"0394 0130 03b1 00a2 03a3 00d8 0152 4016" /* ...0.........R@. */ |
||||
$"00c6 00de 4007 0396 0040 00aa 0141 00a9" /* ....@....@...A.. */ |
||||
$"039a 03a9 00b9 00b2 00b3 00bc 00be 00bd" /* ................ */ |
||||
$"00b8 00bb 00f7 4013 00ab 007d 00b1 00aa" /* ......@....}.... */ |
||||
$"0395 00bf 0393 0399 000d 00de 039d 00a5" /* ................ */ |
||||
$"2122 00d0 0060 00b8 221e 0392 039c 4006" /* !"...`..".....@. */ |
||||
$"0009 00a0 00bb 0008 0003 001b ffff ffff" /* ................ */ |
||||
$"ffff ffff ffff ffff ffff ffff ffff ffff" /* ................ */ |
||||
$"ffff ffff 001d ffff ffff ffff 001c 001b" /* ................ */ |
||||
$"001f ffff ffff ffff 0003 001e ffff ffff" /* ................ */ |
||||
$"ffff ffff ffff ffff ffff ffff ffff ffff" /* ................ */ |
||||
$"ffff ffff ffff ffff ffff ffff ffff ffff" /* ................ */ |
||||
$"0010 0010 0010 0010 0010 0010 4015 0010" /* ............@... */ |
||||
$"4015 0010 0010 0010 0010 0010 0010 0010" /* @............... */ |
||||
$"0010 0010 0005 0001 000b 007f 0010 0004" /* ................ */ |
||||
$"0010 000c 0010 001c 001d 001f 001e ffff" /* ................ */ |
||||
$"4009 0073 0064 0066 0068 0067 401e 0078" /* @..s.d.f.h.g@..x */ |
||||
$"0063 0076 00a7 0062 0071 0077 4011 0072" /* .c.v...b.q.w@..r */ |
||||
$"4019 0074 0031 0032 0033 0034 0036 0035" /* @..t.1.2.3.4.6.5 */ |
||||
$"003d 0039 0037 002d 0038 0030 005d 400a" /* .=.9.7.-.8.0.]@. */ |
||||
$"400b 005b 400f 0070 000d 401c 006a 4014" /* @..[@..p..@..j@. */ |
||||
$"006b 003b 005c 002c 002f 4017 006d 002e" /* .k.;.\.,./@..m.. */ |
||||
$"0009 4015 0060 0008 0003 001b ffff ffff" /* ..@..`.......... */ |
||||
$"ffff ffff ffff ffff ffff ffff ffff ffff" /* ................ */ |
||||
$"ffff 002e 001d 002a ffff 002b 001c 001b" /* .......*...+.... */ |
||||
$"001f ffff ffff 002f 0003 001e 002d ffff" /* ......./.....-.. */ |
||||
$"ffff 003d 0030 0031 0032 0033 0034 0035" /* ...=.0.1.2.3.4.5 */ |
||||
$"0036 0037 ffff 0038 0039 ffff ffff ffff" /* .6.7...8.9...... */ |
||||
$"0010 0010 0010 0010 0010 0010 4015 0010" /* ............@... */ |
||||
$"4015 0010 0010 0010 0010 0010 0010 0010" /* @............... */ |
||||
$"0010 0010 0005 0001 000b 007f 0010 0004" /* ................ */ |
||||
$"0010 000c 0010 001c 001d 001f 001e ffff" /* ................ */ |
||||
$"0001 0013 0004 0006 0008 0007 001a 0018" /* ................ */ |
||||
$"0003 0016 0030 0002 0011 0017 0005 0012" /* .....0.......... */ |
||||
$"0019 0014 0031 0032 0033 0034 0036 0035" /* .....1.2.3.4.6.5 */ |
||||
$"003d 0039 0037 001f 0038 0030 001d 000f" /* .=.9.7...8.0.... */ |
||||
$"0015 001b 0009 0010 000d 000c 000a 4014" /* ..............@. */ |
||||
$"000b 003b 001c 002c 002f 000e 000d 002e" /* ...;...,./...... */ |
||||
$"0009 4015 0060 0008 0003 001b ffff ffff" /* ..@..`.......... */ |
||||
$"ffff ffff ffff ffff ffff ffff ffff ffff" /* ................ */ |
||||
$"ffff 002e 001d 002a ffff 002b 001c 001b" /* .......*...+.... */ |
||||
$"001f ffff ffff 002f 0003 001e 002d ffff" /* ......./.....-.. */ |
||||
$"ffff 003d 0030 0031 0032 0033 0034 0035" /* ...=.0.1.2.3.4.5 */ |
||||
$"0036 0037 ffff 0038 0039 ffff ffff ffff" /* .6.7...8.9...... */ |
||||
$"0010 0010 0010 0010 0010 0010 4015 0010" /* ............@... */ |
||||
$"4015 0010 0010 0010 0010 0010 0010 0010" /* @............... */ |
||||
$"0010 0010 0005 0001 000b 007f 0010 0004" /* ................ */ |
||||
$"0010 000c 0010 001c 001d 001f 001e ffff" /* ................ */ |
||||
$"5001 001f 0000 09e0 0000 09e8 0000 09f0" /* P............... */ |
||||
$"0000 09f8 0000 0a00 0000 0a08 0000 0a10" /* ................ */ |
||||
$"0000 0a18 0000 0a20 0000 0a28 0000 0a54" /* ....... ...(...T */ |
||||
$"0000 0a7c 0000 0aa0 0000 0acc 0000 0af4" /* ...|............ */ |
||||
$"0000 0b18 0000 0b38 0000 0b5c 0000 0b80" /* .......8...\.... */ |
||||
$"0000 0ba4 0000 0bb0 0000 0bc0 0000 0bec" /* ................ */ |
||||
$"0000 0bf8 0000 0c04 0000 0c10 0000 0c20" /* ............... */ |
||||
$"0000 0c30 0000 0c3c 0000 0c48 0000 0c54" /* ...0...<...H...T */ |
||||
$"ffff 0001 0000 0000 ffff 0002 0000 0000" /* ................ */ |
||||
$"ffff 0003 0000 0000 ffff 0004 0000 0000" /* ................ */ |
||||
$"ffff 0005 0000 0000 ffff 0006 0000 0000" /* ................ */ |
||||
$"ffff 0007 0000 0000 ffff 0008 0000 0000" /* ................ */ |
||||
$"ffff 0009 0000 0000 0061 0000 0009 0001" /* .........a...... */ |
||||
$"0001 00e4 0002 00e3 0003 00e1 0004 00e2" /* ................ */ |
||||
$"0005 00e1 0006 00e2 0007 1ea1 0008 00e5" /* ................ */ |
||||
$"0009 00e0 006f 0000 0008 0001 0001 00f6" /* .....o.......... */ |
||||
$"0002 00f5 0003 00f3 0004 00f4 0005 00f3" /* ................ */ |
||||
$"0006 00f4 0007 1ecd 0009 00f2 0075 0000" /* .............u.. */ |
||||
$"0007 0001 0001 00fc 0003 00fa 0004 00fb" /* ................ */ |
||||
$"0005 00fa 0006 00fb 0008 016f 0009 00f9" /* ...........o.... */ |
||||
$"0041 0000 0009 0001 0001 00c4 0002 00c3" /* .A.............. */ |
||||
$"0003 00c1 0004 00c2 0005 00c1 0006 00c2" /* ................ */ |
||||
$"0007 1ea0 0008 00c5 0009 00c0 004f 0000" /* .............O.. */ |
||||
$"0008 0001 0001 00d6 0002 00d5 0003 00d3" /* ................ */ |
||||
$"0004 00d4 0005 00d3 0006 00d4 0007 1ecc" /* ................ */ |
||||
$"0009 00d2 0055 0000 0007 0001 0001 00dc" /* .....U.......... */ |
||||
$"0003 00da 0004 00db 0005 00da 0006 00db" /* ................ */ |
||||
$"0008 016e 0009 00d9 0069 0000 0006 0001" /* ...n.....i...... */ |
||||
$"0001 00ef 0003 00ed 0004 00ee 0005 00ed" /* ................ */ |
||||
$"0006 00ee 0009 00ec 0049 0000 0007 0001" /* .........I...... */ |
||||
$"0001 00cf 0003 00cd 0004 00ce 0005 00cd" /* ................ */ |
||||
$"0006 00ce 0007 0130 0009 00cc 0065 0000" /* .......0.....e.. */ |
||||
$"0007 0001 0001 00eb 0003 00e9 0004 00ea" /* ................ */ |
||||
$"0005 00e9 0006 00ea 0007 0117 0009 00e8" /* ................ */ |
||||
$"0045 0000 0007 0001 0001 00cb 0003 00c9" /* .E.............. */ |
||||
$"0004 00ca 0005 00c9 0006 00ca 0007 0116" /* ................ */ |
||||
$"0009 00c8 0022 0000 0001 0001 0001 201e" /* ....."........ . */ |
||||
$"0027 0000 0002 0001 0001 201a 0007 2026" /* .'........ ... & */ |
||||
$"0020 0000 0009 0001 0001 0022 0002 007e" /* . ........."...~ */ |
||||
$"0003 00b4 0004 005e 0005 00b4 0006 005e" /* .......^.......^ */ |
||||
$"0007 00b7 0008 00b0 0009 0060 007e 0000" /* ...........`.~.. */ |
||||
$"0001 0001 0002 007e 006e 0000 0001 0001" /* .......~.n...... */ |
||||
$"0002 00f1 004e 0000 0001 0001 0002 00d1" /* .....N.......... */ |
||||
$"0079 0000 0002 0001 0003 00fd 0005 00fd" /* .y.............. */ |
||||
$"0059 0000 0002 0001 0003 00dd 0005 00dd" /* .Y.............. */ |
||||
$"004c 0000 0001 0001 0007 013f 006c 0000" /* .L.........?.l.. */ |
||||
$"0001 0001 0007 0140 005a 0000 0001 0001" /* .......@.Z...... */ |
||||
$"0007 017b 007a 0000 0001 0001 0007 017c" /* ...{.z.........| */ |
||||
$"6001 0009 0022 007e 00b4 005e 00b4 005e" /* `....".~...^...^ */ |
||||
$"00b7 00b0 0060 0000" /* .....`.. */ |
||||
}; |
After Width: | Height: | Size: 3.4 KiB |
@ -0,0 +1,116 @@ |
||||
!! ~/.Xmodmap |
||||
!! |
||||
!! created by Benjamin Kellermann <Benjamin dot Kellermann at gmx dot Germany> |
||||
!! |
||||
!! The german NEO Layout Version 1.1 |
||||
!! see http://pebbles.schattenlauf.de/layout/index.html for details |
||||
!! |
||||
!! this Layout depends on a running qwertz-de Layout |
||||
!! mostly type "setxkbmap de" to set a qwertz-de Layout |
||||
!! |
||||
!! 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 (named .Xmodmap in your home directory) |
||||
|
||||
! The first row |
||||
keysym dead_circumflex = dead_circumflex degree notsign paragraph |
||||
|
||||
keysym 1 = 1 exclam 1 exclam onesuperior exclamdown |
||||
keysym 2 = 2 quotedbl 2 quotedbl twosuperior dead_diaeresis |
||||
keysym 3 = 3 section 3 section threesuperior |
||||
keysym 4 = 4 dollar 4 dollar currency sterling |
||||
keysym 5 = 5 percent 5 percent guillemotleft |
||||
keysym 6 = 6 ampersand 6 ampersand guillemotright |
||||
|
||||
keysym 7 = 7 slash 7 slash braceleft |
||||
keysym 8 = 8 parenleft 8 parenleft bracketleft |
||||
keysym 9 = 9 parenright 9 parenright bracketright registered |
||||
keysym 0 = 0 equal 0 equal braceright trademark |
||||
keysym ssharp = minus underscore |
||||
keysym dead_acute = dead_acute dead_grave dead_acute dead_grave dead_cedilla dead_ogonek |
||||
|
||||
|
||||
! The upper row |
||||
keysym q = q Q q Q at |
||||
keysym w = v V v V minus |
||||
keysym e = l L l L underscore Greek_lambda |
||||
keysym r = c C c C percent copyright |
||||
keysym t = w W w W ampersand Greek_omega |
||||
|
||||
keysym z = k K k K bar Greek_kappa |
||||
keysym u = h H h H bracketleft |
||||
keysym i = g G g G bracketright Greek_gamma |
||||
keysym o = f F f F less Greek_phi |
||||
keysym p = j J j J greater |
||||
keysym udiaeresis = ssharp question ssharp question backslash questiondown |
||||
keysym plus = plus asterisk plus asterisk dead_tilde plusminus |
||||
|
||||
! The middle row |
||||
keysym a = u U u U backslash |
||||
keysym s = i I i I slash |
||||
keysym d = a A a A at Greek_alpha |
||||
keysym f = e E e E EuroSign Greek_epsilon |
||||
keysym g = o O o O asciitilde |
||||
|
||||
keysym h = s S s S dollar Greek_sigma |
||||
keysym j = n N n N parenleft Greek_eta |
||||
keysym k = r R r R parenright Greek_rho |
||||
keysym l = t T t T braceleft Greek_tau |
||||
keysym odiaeresis = d D d D braceright Greek_delta |
||||
keysym adiaeresis = y Y y Y Greek_PSI Greek_psi |
||||
keysym numbersign = numbersign apostrophe numbersign apostrophe grave yen |
||||
|
||||
! The lower row |
||||
keysym less = less greater less greater bar brokenbar |
||||
keysym y = odiaeresis Odiaeresis |
||||
keysym x = udiaeresis Udiaeresis |
||||
keysym c = adiaeresis Adiaeresis Greek_LAMBDA |
||||
keysym v = p P p P Greek_PI Greek_pi |
||||
keysym b = z Z z Z Greek_omega |
||||
|
||||
keysym n = b B z B Greek_SIGMA Greek_beta |
||||
keysym m = m M m M Greek_PHI mu |
||||
keysym comma = comma semicolon comma semicolon Greek_GAMMA dead_cedilla |
||||
keysym period = period colon period colon Greek_THETA Greek_theta |
||||
keysym minus = x X x X Greek_DELTA |
||||
|
||||
|
||||
! Make caps lock an additional Alt_Gr |
||||
remove Lock = Caps_Lock |
||||
keysym Caps_Lock = ISO_Level3_Shift |
||||
|
||||
|
||||
|
||||
! Keypad |
||||
!keysym <NMLK> Num_Lock Pointer_EnableKeys |
||||
! Ungrab cancels server/keyboard/pointer grabs |
||||
!keysym <KPDV> KP_Divide KP_Divide division |
||||
! ClsGrb kills whichever client has a grab in effect |
||||
!keysym <KPMU> KP_Multiply KP_Multiply periodcentered |
||||
! -VMode switches to the previous video mode |
||||
!keysym <KPSU> KP_Subtract KP_Subtract notsign |
||||
|
||||
! upper row |
||||
!keysym <KP7> KP_Home KP_7 seveneighths oneeighth |
||||
!keysym <KP8> KP_Up KP_8 uparrow fiveeighths |
||||
!keysym <KP9> KP_Prior KP_9 threeeighths threeeighths |
||||
! +VMode switches to the next video mode |
||||
!keysym <KPAD> KP_Add KP_Add plusminus |
||||
|
||||
! middle row |
||||
!keysym <KP4> KP_Left KP_4 leftarrow onequarter |
||||
!keysym <KP5> KP_Begin KP_5 dagger onehalf |
||||
!keysym <KP6> KP_Right KP_6 rightarrow threequarters |
||||
|
||||
! lower row |
||||
!keysym <KP1> KP_End KP_1 onesuperior onesuperior |
||||
!keysym <KP2> KP_Down KP_2 downarrow twosuperior |
||||
!keysym <KP3> KP_Next KP_3 threesuperior threesuperior |
||||
!keysym <KPEN> KP_Enter |
||||
!keysym <KPEQ> KP_Equal |
||||
|
||||
! lowest row |
||||
!keysym <KP0> KP_Insert KP_0 percent degree |
||||
!keysym <KPDL> KP_Delete KP_Decimal periodcentered comma |
||||
|
||||
|
@ -0,0 +1,123 @@ |
||||
!! ~/.Xmodmap |
||||
!! |
||||
!! created by Benjamin Kellermann <Benjamin dot Kellermann at gmx dot Germany> |
||||
!! modified for Solaris by Falk Schilling <dev at falk-land dot com> |
||||
!! |
||||
!! The german NEO Layout Version 1.1 |
||||
!! see http://pebbles.schattenlauf.de/layout/index.html for details |
||||
!! |
||||
!! this Layout depends on a running qwertz-de Layout |
||||
!! mostly type "setxkbmap de" to set a qwertz-de Layout |
||||
!! |
||||
!! 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 (named .Xmodmap in your home directory) |
||||
|
||||
! The first row |
||||
keysym dead_circumflex = dead_circumflex degree notsign paragraph |
||||
|
||||
keysym 1 = 1 exclam onesuperior exclamdown |
||||
keysym 2 = 2 quotedbl twosuperior dead_diaeresis |
||||
keysym 3 = 3 section threesuperior |
||||
keysym 4 = 4 dollar currency sterling |
||||
keysym 5 = 5 percent guillemotleft |
||||
keysym 6 = 6 ampersand guillemotright |
||||
|
||||
keysym 7 = 7 slash braceleft |
||||
keysym 8 = 8 parenleft bracketleft |
||||
keysym 9 = 9 parenright bracketright registered |
||||
keysym 0 = 0 equal braceright trademark |
||||
keysym ssharp = minus underscore |
||||
keysym dead_acute = dead_acute dead_grave dead_acute dead_grave dead_cedilla dead_ogonek |
||||
|
||||
|
||||
! The upper row |
||||
keysym q = q Q at |
||||
keysym w = v V minus |
||||
keysym e = l L underscore Greek_lambda |
||||
keysym r = c C percent copyright |
||||
keysym t = w W ampersand Greek_omega |
||||
|
||||
keysym z = k K bar Greek_kappa |
||||
keysym u = h H bracketleft |
||||
keysym i = g G bracketright Greek_gamma |
||||
keysym o = f F less Greek_phi |
||||
keysym p = j J greater |
||||
keysym udiaeresis = ssharp question backslash questiondown |
||||
keysym plus = plus asterisk dead_tilde plusminus |
||||
|
||||
! The middle row |
||||
keysym a = u U backslash |
||||
keysym s = i I slash |
||||
keysym d = a A at Greek_alpha |
||||
keysym f = e E EuroSign Greek_epsilon |
||||
keysym g = o O asciitilde |
||||
|
||||
keysym h = s S dollar Greek_sigma |
||||
keysym j = n N parenleft Greek_eta |
||||
keysym k = r R parenright Greek_rho |
||||
keysym l = t T braceleft Greek_tau |
||||
keysym odiaeresis = d D braceright Greek_delta |
||||
keysym adiaeresis = y Y Greek_PSI Greek_psi |
||||
keysym numbersign = numbersign apostrophe grave yen |
||||
|
||||
! The lower row |
||||
keysym less = less greater bar brokenbar |
||||
keysym y = odiaeresis Odiaeresis |
||||
keysym x = udiaeresis Udiaeresis |
||||
keysym c = adiaeresis Adiaeresis Greek_LAMBDA |
||||
keysym v = p P Greek_PI Greek_pi |
||||
keysym b = z Z Greek_omega |
||||
|
||||
keysym n = b B Greek_SIGMA Greek_beta |
||||
keysym m = m M Greek_PHI mu |
||||
keysym comma = comma semicolon Greek_GAMMA dead_cedilla |
||||
!keysym comma = comma semicolon quotedbl dead_cedilla |
||||
keysym period = period colon Greek_THETA Greek_theta |
||||
!keysym period = period colon apostrophe Greek_theta |
||||
keysym minus = x X Greek_DELTA |
||||
|
||||
|
||||
! Make caps lock an additional Alt_Gr |
||||
remove Lock = Caps_Lock |
||||
keysym Caps_Lock = Mode_switch |
||||
|
||||
! Swap the Meta and the Alt-Key |
||||
remove mod4 = Meta_L |
||||
keysym Alt_L = Meta_L |
||||
|
||||
!keysym Caps_Lock = ISO_Level3_Shift |
||||
|
||||
! Keypad |
||||
!keysym <NMLK> Num_Lock Pointer_EnableKeys |
||||
! Ungrab cancels server/keyboard/pointer grabs |
||||
!keysym <KPDV> KP_Divide KP_Divide division |
||||
! ClsGrb kills whichever client has a grab in effect |
||||
!keysym <KPMU> KP_Multiply KP_Multiply periodcentered |
||||
! -VMode switches to the previous video mode |
||||
!keysym <KPSU> KP_Subtract KP_Subtract notsign |
||||
|
||||
! upper row |
||||
!keysym <KP7> KP_Home KP_7 seveneighths oneeighth |
||||
!keysym <KP8> KP_Up KP_8 uparrow fiveeighths |
||||
!keysym <KP9> KP_Prior KP_9 threeeighths threeeighths |
||||
! +VMode switches to the next video mode |
||||
!keysym <KPAD> KP_Add KP_Add plusminus |
||||
|
||||
! middle row |
||||
!keysym <KP4> KP_Left KP_4 leftarrow onequarter |
||||
!keysym <KP5> KP_Begin KP_5 dagger onehalf |
||||
!keysym <KP6> KP_Right KP_6 rightarrow threequarters |
||||
|
||||
! lower row |
||||
!keysym <KP1> KP_End KP_1 onesuperior onesuperior |
||||
!keysym <KP2> KP_Down KP_2 downarrow twosuperior |
||||
!keysym <KP3> KP_Next KP_3 threesuperior threesuperior |
||||
!keysym <KPEN> KP_Enter |
||||
!keysym <KPEQ> KP_Equal |
||||
|
||||
! lowest row |
||||
!keysym <KP0> KP_Insert KP_0 percent degree |
||||
!keysym <KPDL> KP_Delete KP_Decimal periodcentered comma |
||||
|
||||
|
@ -0,0 +1,96 @@ |
||||
# Historische Neo-Versionen |
||||
Aus verschiedenen Gründen kann man auch Interesse an älteren Neo-Versionen haben, beispielsweise weil man sich daran gewöhnt hat und nicht schon wieder umstellen will, oder weil einem der Lernaufwand bzw. die Umstellung von QWERTZ zu Neo 2 zu einschneidend (was die Tippgeschwindigkeit betrifft) erscheint. Daher steigen manche in Stufen um: |
||||
|
||||
* Erst auf Neo 1.0: Nur die Buchstaben sind geändert. |
||||
* Und erst dann auf Neo 2: Sonderzeichen geändert und zusätzliche Navigation auf dem Hauptfeld der Tastatur (Ebene 4) möglich. |
||||
|
||||
Es folgen alle Dateien, die im [ganz alten Wiki](http://www.eigenheimstrasse.de:8668/space/Computerecke/NEO-Tastaturlayout/Download), das inzwischen nicht mehr erreichbar ist, zur Verfügung standen. |
||||
|
||||
## Neo 1.0 |
||||
### Grafiken |
||||
* Grafik der Neo-Tastaturbelegung: [NEO-Layout.odg](Neo1.0/NEO-Layout.odg) |
||||
* Screenshot vom .odg, für alle, die kein Opendocument lesen können:  |
||||
* PDF-Ausgabe: [NEO-Layout.pdf](Neo1.0/NEO-Layout.pdf) |
||||
|
||||
### Treiber |
||||
#### Windows |
||||
* Treiber für Windows 2000/XP: [neo-de_1.0_win.zip](Neo1.0/neo-de_1.0_win.zip) |
||||
|
||||
#### Linux |
||||
Diese Version war bereits in allen Linuxdistribution (Debian, Ubuntu, Fedora, Suse, ...) seit Anfang 2007 integriert. Sie wurde jedoch etwa im Sommer 2010 durch Neo 2 ersetzt. |
||||
|
||||
* NEO Treiber Version 1.0 (systemweit, als root installieren): [neo_linux.tgz](Neo1.0/neo_linux.tgz) |
||||
* Xmodmap für NEO 1.0 für Linux. Ändert die Belegung ausgehend vom deutschen QWERTZ-Layout: [de_neo.Xmodmap](Neo1.0/de_neo.Xmodmap) |
||||
* Variante von NEO mit gesamtem griechischen Alphabet und günstigeren Positionierungen von in C-syntaktischen Sprachen häufig benutzten Zeichen: [de_neo_prog](Neo1.0/de_neo_prog.xkb) |
||||
* NEO 1.0 auf der Konsole: [neo-console.tar.bz2](Neo1.0/neo-console.tar.bz2) |
||||
|
||||
#### Commodore 64 (C64) |
||||
* Quellen des Treibers: [neo-layout.asm](Neo1.0/neo-layout.asm) |
||||
* Treiber für C64: [neo-layout.prg](Neo1.0/neo-layout.prg) |
||||
* Kurze Doku für den C64-Treiber: [readme-c64.txt](Neo1.0/readme-c64.txt) |
||||
|
||||
### Tippkurse |
||||
#### KTouch |
||||
|
||||
!!! failure "Zu überarbeiten" |
||||
Die Beschreibungen hier sind nicht historisch, sondern schlichtweg veraltet. Falls noch notwendig, bitte in die entsprechende Seite zu KTouch integrieren. |
||||
|
||||
Ab KDE 3.5 (seit Mitte 2006 im Umlauf) sind die NEO-Dateien der Version 1.1 offiziell Bestandteil des KTouch-Paketes. |
||||
|
||||
Anleitung für KTouch: |
||||
|
||||
Einfach diese KTouch-Dateien nach /opt/kde3/share/apps/ktouch/ beziehungsweise in das entsprechende Verzeichnis kopieren, falls KDE woanders installiert ist. Dann KTouch auf die entsprechenden Dateien einstellen. |
||||
* KTouch-Tippkurs-Erweiterung für alle ktouch-Versionen ab Version 1.4: [german_neo.ktouch](raw/german_neo.ktouch) |
||||
* KTouch-Tippkurs-Erweiterung für alle ktouch-Versionen bis einschließlich Version 1.3: [german_neo-ktouch1_3.ktouch](raw/german_neo-ktouch1_3.ktouch) |
||||
* KTouch-Keyboarddatei für alle ktouch-Versionen: [de_neo.keyboard](raw/de_neo.keyboard) |
||||
|
||||
#### TIPP-Kurs |
||||
* Von René Lange geänderte KTouch-Dateien, so dass sie mit dem [Tipp-Kurs für Windows](http://www.freeware.de/download/tipp-kurs_10693.html) zusammen arbeiten: [NEO+für+TIPP-Kurs.zip](Neo1.0/NEO+für+TIPP-Kurs.zip) |
||||
|
||||
|
||||
## Neo 1.1 |
||||
### Grafiken |
||||
* Grafik der Neo-Tastaturbelegung: [NEO-Layout-1.1.odg](Neo1.1/NEO-Layout-1.1.odg) |
||||
* Screenshot vom .odg, für alle, die kein Opendocument lesen können:  |
||||
* Die Hauptbelegung (Screenshot vom .odg):  |
||||
* Übersicht der Computerrelevanten Tasten (Screenshot vom .odg):  |
||||
* Minimierte Übersicht der Computerrelevanten Tasten (Screenshot vom .odg):  |
||||
* Übersicht der griechischen Zeichen (Screenshot vom .odg):  |
||||
|
||||
### Treiber |
||||
#### Windows |
||||
* Treiber für Windows Vista/7: [neo_de_1.1_vista_w7.zip](Neo1.1/neo_de_1.1_vista_w7.zip) |
||||
* Treiber für Windows 2000/XP: [de_1.1_win.zip](Neo1.1/neo_de_1.1_win.zip) |
||||
* Treiber für Windows 9x: [de-neo-win9x.zip](Neo1.1/de-neo-win9x.zip) |
||||
|
||||
#### Linux |
||||
* Paket für Debian (und Ubuntu?): [neo-de_1.1.alpha-8_all.deb](Neo1.1/neo-de_1.1.alpha-8_all.deb) |
||||
* Paket für Fedora Core 5 und 6: [neo-de-1.1.alpha-8.noarch.rpm](Neo1.1/neo-de-1.1.alpha-8.noarch.rpm) (die Echtheit des rpm-Pakets kann man mit dem GPG-Schlüssel von [hier](http://www.erikstreb.de/RPM-GPG-KEY-erikstreb) überprüfen) |
||||
* NEO Treiber Version 1.1 (systemweit, als root installieren): [neo_linux1.1.tgz](Neo1.1/neo_linux1.1.tgz) |
||||
* Xmodmap für NEO 1.1 für Linux. Ändert die Belegung ausgehend vom deutschen QWERTZ-Layout: [neo_de1.1.Xmodmap](Neo1.1/neo_de1.1.Xmodmap) |
||||
* NEO 1.1 auf der Konsole: [de_neo_1.1_console.tar.bz2](Neo1.1/de_neo_1.1_console.tar.bz2) |
||||
|
||||
#### Sun Solaris für x86 |
||||
* Xmodmap für NEO 1.1 unter Solaris/x86. Ändert die Belegung ausgehend vom deutschen QWERTZ-Layout: [neo_de_solaris.Xmodmap](Neo1.1/neo_de_solaris.Xmodmap) |
||||
|
||||
#### Apple Macintosh (Mac OS 9 und Mac OS X) |
||||
* Anleitung von Markus Hanauska zur Installation auf Macintosh: [LIESMICH-mac](Neo1.1/LIESMICH-mac.txt) |
||||
* Dateien für den Treiber: |
||||
* [de_neo.as](Neo1.1/de_neo.as) |
||||
* [de_neo.keylayout](Neo1.1/de_neo.keylayout) |
||||
* [de_neo.r](Neo1.1/de_neo.r) |
||||
* [de_neo.rsrc](Neo1.1/de_neo.rsrc) |
||||
|
||||
Alternativ kann auch ein etwas überarbeitetes Keyboard Layout genutzt werden, siehe <https://git.neo-layout.org/neo/neo-layout/src/branch/master/mac_osx/Neo1.1>. |
||||
|
||||
Dieses überarbeitete Keyboard Layout unterscheidet sich zum Keyboard Layout von 2005 durch: |
||||
|
||||
* Apfel-Tasten/Befehlstasten gem. Neo |
||||
* Ctrl-Tasten gem. Neo |
||||
* Option-Tasten gem. Neo fuer Linux/Windows |
||||
* Akzente und diakritische Zeichen werden etwas anders behandelt |
||||
* Mehr Zeichen mit Akzenten und diakritische Zeichen |
||||
* Num Block Belegung entspricht der vom Neo Linux |
||||
|
||||
### Tippkurse |
||||
Siehe oben, bei Version 1.0. |
@ -0,0 +1,16 @@ |
||||
# Paradigmen |
||||
|
||||
Die [Paradigmen](http://de.wikipedia.org/wiki/Paradigma) der Neo-Belegung sind im folgenden aufgelistet: |
||||
|
||||
1. Das schnellste und komfortabelste Schreiben findet auf der Grundlinie statt, folglich sollten alle häufigen Zeichen sich auf dieser Grundlinie befinden. |
||||
1. Die Buchstabenpaare, die am häufigsten aufeinander folgen, sollten auf beide Hände verteilt werden, das ist ebenfalls für die Schreibgeschwindigkeit positiv. |
||||
1. Lassen sich bestimmte Buchstabenfolgen konzeptionell nicht auf beide Hände verteilen, so sollten sie Trommelabläufen von innen nach außen folgen, optimaler Weise mit einem Finger dazwischen, sprich von Zeigefinger auf Ringfinger oder kleinen Finger, vom Mittelfinger auf kleinen Finger und notfalls umgekehrt, immer streng nach Häufigkeitsverteilungen geordnet. |
||||
1. Die stärkste Belastung sollte auf Zeige- und Mittelfinger liegen, die obere Reihe ist der unteren vorzuziehen, Ring- und kleiner Finger sollten möglichst wenig in die Ober- oder Unterreihe ausweichen müssen. |
||||
1. Es soll ein Layout für Rechtshänder werden, denn die meisten Menschen sind Rechtshänder; die Standardtastatur bevorzugt im übrigen in starkem Maße Linkshänder, denn dort muss die linke Hand weitaus die meiste Arbeit verrichten. |
||||
1. Die deutsche Sprache hat Vorrang, danach folgen Rücksichtnahme auf die englische Sprache, Anglizismen, Programmierung und Shellbefehle (Unix). |
||||
1. Ist der Platz für eine Taste statistisch [ambivalent](http://de.wikipedia.org/wiki/Ambivalenz) ein neuer oder der alte Platz, sollte sie der leichteren Umlernbarkeit wegen auf dem alten Platz bleiben. |
||||
1. Ist der Platz für eine Taste statistisch ambivalent, sollte sie in logischen Blöcken angeordnet bleiben, da Erlernbarkeit und Geschwindigkeit durch ausnutzen von [Mnemoblöcken](http://de.wikipedia.org/wiki/Mnemotechnik) einen Vorteil verspricht. Zudem ist eine solche Ordnung für einen Sichtschreiber einfacher. |
||||
1. Unvermeidbare „Worst-case“-Szenarien wie das aufeinanderfolgende Hoch-/Runterspringen von Fingern sollten statistisch irrelevant bleiben. |
||||
1. Herkömmliche Tastaturen sollen Verwendung finden, eine ergonomische Neugestaltung der Tastatur ist nicht geplant (obwohl einige Ideen dazu bestehen). |
||||
|
||||
Mit Hilfe von Statistiken der Häufigkeitsverteilung der Buchstaben in der deutschen Sprache sowie der Häufigkeit bestimmter Buchstabenfolgen und Effizienz bestimmter Tastfolgen ergibt sich die Anordnung der Tasten auf die mehr oder weniger optimalen Plätze beinahe zwangsläufig. |