diff options
-rw-r--r-- | linux/X/de | 158 | ||||
-rwxr-xr-x | linux/rev | 37 | ||||
-rw-r--r-- | linux/xmodmap/neo_de.xmodmap | 28 | ||||
-rwxr-xr-x | linux/xmodmap/rev | 32 |
4 files changed, 160 insertions, 95 deletions
@@ -203,39 +203,89 @@ xkb_symbols "sundeadkeys" { }; -// German NEO Style +// 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: -// lucky (at) zankt (dot) net -// Benjamin (dot) Kellermann (at) gmx (dot) de +// <lucky at zankt dot net> +// Benjamin Kellermann <Benjamin dot Kellermann at gmx dot Germany> +// // Other Questions: -// mailinglist (at) neo-layout (dot) org +// <mailinglist at neo-layout dot org> +// +// Revision 479, Fr 11. Apr 13:17:49 CEST 2008 +// http://pebbles.schattenlauf.de/layout.php + partial alphanumeric_keys modifier_keys keypad_keys xkb_symbols "neo" { name[Group1]= "German Neostyle"; - key.type[Group1]="EIGHT_LEVEL_SEMIALPHABETIC"; + //////////////////////////////////////////////////// + // Modifier definition + //////////////////////////////////////////////////// + key.type[Group1]="EIGHT_LEVEL" ; - // 1st row + // hier (bei Mod3 und Mod4) sollte mal noch richtige Ebene 6 definiert werden + // Mod3 + key <CAPS> { [ ISO_Level3_Shift, ISO_Level3_Shift ] }; + key <BKSL> { [ ISO_Level3_Shift, ISO_Level3_Shift, Caps_Lock ] }; + // Mod4 + key <LSGT> { [ 0xfe11, 0xfe11 ] }; + key <RALT> { [ 0xfe11, 0xfe11 ] }; + modifier_map mod5 { <LSGT>, <RALT> }; + key.type[Group1]="EIGHT_LEVEL_SEMIALPHABETIC"; + //////////////////////////////////////////////////// + // 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 + + + //////////////////////////////////////////////////// + // general Lock + //////////////////////////////////////////////////// + // Einrasten über linke Win-Taste+Modifier, Lösen über nochmaliges Betätigen des Modifiers + // ShiftLock und Mod5Lock funktionieren, Mod3Lock lässt sich aber nicht mehr lösen!!!! + // TODO ????? + + + //////////////////////////////////////////////////// + // Tab as Multi_key (Compose) + //////////////////////////////////////////////////// + key <TAB> { [ Tab, ISO_Left_Tab, Multi_key ] }; + + //////////////////////////////////////////////////// + // The first row (number Row) + //////////////////////////////////////////////////// key <TLDE> { [ dead_circumflex, dead_caron, dead_breve, dead_stroke, dead_belowdot, dead_belowdot ] }; + key <AE01> { [ 1, degree, onesuperior, femalesymbol, enfilledcircbullet, notsign ] }; key <AE02> { [ 2, numerosign, twosuperior, U26A5, U2023, logicalor ] }; key <AE03> { [ 3, section, threesuperior, malesymbol, 3, logicaland ] }; key <AE04> { [ 4, guillemotright, U203A, U2113, Prior, Prior ] }; key <AE05> { [ 5, guillemotleft, U2039, dagger, 5, implies ] }; key <AE06> { [ 6, EuroSign, cent, 6, sterling, U2225 ] }; + key <AE07> { [ 7, dollar, yen, U03F0, currency, notelementof ] }; key <AE08> { [ 8, doublelowquotemark, singlelowquotemark, 8, slash, U2203 ] }; key <AE09> { [ 9, leftdoublequotemark, leftsinglequotemark, 9, asterisk, U2200 ] }; key <AE10> { [ 0, rightdoublequotemark, rightsinglequotemark, 0, minus, logicalor ] }; + key <AE11> { [ minus, endash, emdash, U2011, minus, hyphen ] }; key <AE12> { [ dead_acute, dead_grave, dead_cedilla, dead_ogonek, dead_abovedot, dead_abovering ] }; - // 2nd row + //////////////////////////////////////////////////// + // The upper row + //////////////////////////////////////////////////// key <AD01> { [ x, X, x, Greek_xi, x, Greek_XI ] }; key <AD02> { [ v, V, underscore, v, BackSpace, BackSpace ] }; key <AD03> { [ l, L, bracketleft, Greek_lambda, Up, Up ] }; @@ -249,7 +299,9 @@ xkb_symbols "neo" { key <AD11> { [ ssharp, U1E9E, U017F, Greek_finalsmallsigma, ssharp, jot ] }; key <AD12> { [ dead_tilde, dead_macron, dead_diaeresis, dead_doubleacute ] }; - // 3rd row + //////////////////////////////////////////////////// + // The home row (middle row) + //////////////////////////////////////////////////// key <AC01> { [ u, U, backslash, u, Home, Home ] }; key <AC02> { [ i, I, slash, Greek_iota, Left, Left ] }; key <AC03> { [ a, A, braceleft, Greek_alpha, Down, Down ] }; @@ -262,7 +314,9 @@ xkb_symbols "neo" { key <AC10> { [ d, D, colon, Greek_delta, comma, Greek_DELTA ] }; key <AC11> { [ y, Y, at, Greek_upsilon, y, nabla ] }; - // 4th row + //////////////////////////////////////////////////// + // The lower row + //////////////////////////////////////////////////// key <AB01> { [ udiaeresis, Udiaeresis, numbersign, udiaeresis, Escape ] }; key <AB02> { [ odiaeresis, Odiaeresis, dollar, odiaeresis, Tab, Tab ] }; key <AB03> { [ adiaeresis, Adiaeresis, bar, Greek_eta, Next, Next ] }; @@ -274,50 +328,54 @@ xkb_symbols "neo" { key <AB09> { [ period, ellipsis, apostrophe, Greek_theta, 3, Greek_THETA ] }; key <AB10> { [ j, J, semicolon, U3D1, period, nabla ] }; + //////////////////////////////////////////////////// + // Space key + //////////////////////////////////////////////////// key <SPCE> { [ space, space, space, nobreakspace, 0, U202F ] }; - // Compose bzw. Kombinationstaste auf Mod3+Tab - key <TAB> { [ Tab, ISO_Left_Tab, Multi_key ] }; - - // new modkeys - key.type[Group1]="EIGHT_LEVEL" ; - - // hier (bei Mod3 und Mod4) sollte mal noch richtige Ebene 6 definiert werden - // Mod3 - key <CAPS> { [ ISO_Level3_Shift, ISO_Level3_Shift ] }; - key <BKSL> { [ ISO_Level3_Shift, ISO_Level3_Shift, Caps_Lock ] }; - // Mod4 - key <LSGT> { [ 0xfe11, 0xfe11 ] }; - key <RALT> { [ 0xfe11, 0xfe11 ] }; - modifier_map mod5 { <LSGT>, <RALT> }; - + //////////////////////////////////////////////////// // Keypad - - // key <NMLK> { [ Num_Lock, Pointer_EnableKeys ] }; - - key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ; - - key <KPDV> { [ KP_Divide, KP_Divide, division, U2215 ] }; - key <KPMU> { [ KP_Multiply, KP_Multiply, multiply, U22C5 ] }; - key <KPSU> { [ KP_Subtract, KP_Subtract, U2212 ] }; - - key <KP7> { [ KP_Home, KP_7, KP_7, U226A ] }; - key <KP8> { [ KP_Up, KP_8, uparrow, intersection ] }; - key <KP9> { [ KP_Prior, KP_9, KP_9, U226B ] }; - key <KPAD> { [ KP_Add, KP_Add, plusminus, U2213 ] }; - - key <KP4> { [ KP_Left, KP_4, leftarrow, includedin ] }; - key <KP5> { [ EuroSign, KP_5, dagger, U220A ] }; - key <KP6> { [ KP_Right, KP_6, rightarrow, includes ] }; - - key <KP1> { [ KP_End, KP_1, U21CB, lessthanequal ] }; - key <KP2> { [ KP_Down, KP_2, downarrow, union ] }; - key <KP3> { [ KP_Next, KP_3, U21CC, greaterthanequal ] }; - key <KPEN> { [ KP_Enter, KP_Enter, notequal, U2248 ] }; - key <KPEQ> { [ KP_Equal ] }; - - key <KP0> { [ KP_Insert, KP_0, percent, U2030 ] }; - key <KPDL> { [ KP_Delete, KP_Decimal, period, comma ] }; + //////////////////////////////////////////////////// + //////////////////////////////////////////////////// + // The uppest row + //////////////////////////////////////////////////// + // key <NMLK> { [ Num_Lock, Pointer_EnableKeys ] }; + + key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ; + + key <KPDV> { [ KP_Divide, KP_Divide, division, U2215 ] }; + key <KPMU> { [ KP_Multiply, KP_Multiply, multiply, U22C5 ] }; + key <KPSU> { [ KP_Subtract, KP_Subtract, U2212 ] }; + + //////////////////////////////////////////////////// + // The upper row + //////////////////////////////////////////////////// + key <KP7> { [ KP_Home, KP_7, KP_7, U226A ] }; + key <KP8> { [ KP_Up, KP_8, uparrow, intersection ] }; + key <KP9> { [ KP_Prior, KP_9, KP_9, U226B ] }; + key <KPAD> { [ KP_Add, KP_Add, plusminus, U2213 ] }; + + //////////////////////////////////////////////////// + // The middle row + //////////////////////////////////////////////////// + key <KP4> { [ KP_Left, KP_4, leftarrow, includedin ] }; + key <KP5> { [ EuroSign, KP_5, dagger, U220A ] }; + key <KP6> { [ KP_Right, KP_6, rightarrow, includes ] }; + + //////////////////////////////////////////////////// + // The lower row + //////////////////////////////////////////////////// + key <KP1> { [ KP_End, KP_1, U21CB, lessthanequal ] }; + key <KP2> { [ KP_Down, KP_2, downarrow, union ] }; + key <KP3> { [ KP_Next, KP_3, U21CC, greaterthanequal ] }; + key <KPEN> { [ KP_Enter, KP_Enter, notequal, U2248 ] }; + key <KPEQ> { [ KP_Equal ] }; + + //////////////////////////////////////////////////// + // The lowest row + //////////////////////////////////////////////////// + key <KP0> { [ KP_Insert, KP_0, percent, U2030 ] }; + key <KPDL> { [ KP_Delete, KP_Decimal, period, comma ] }; }; diff --git a/linux/rev b/linux/rev new file mode 100755 index 0000000..2f7c541 --- /dev/null +++ b/linux/rev @@ -0,0 +1,37 @@ +#!/bin/sh +# Autoren: Pascal Hauck +# Benjamin Kellermann <Benjamin Punkt Kellermann at gmx in Deutschland> + + +case $1 in + "--help" | "-h") + echo "Aufruf: $0 <Dateien>" + echo "Beispiel: $0 xmodmap/neo_de.xmodmap X/de" + echo "»$0« ändert in der <Datei> oder den <Dateien> die Nummer der aktuellen Revision." + echo "Im Anschluss sollten gemachte Änderungen" + echo "per »svn commit« wie gewohnt übertragen werden." + echo "NEO Tastaturlayout\tVer. 0.3\tMärz 2008\t\t\tREV" + exit;; + "") + echo "Aufruf: »$0«" + echo "»$0 --help« gibt Ihnen mehr Informationen." + exit 1 +esac + +# Abfragen der nächsten Revisionsnummer +REVISION=$(( $(svn info | sed -n 5~p | cut -f2 -d\:) + 1)) + +for DATEI in "$@"; +do + # Sicherung der aktuellen Arbeitskopie + cp -a $DATEI $DATEI.bak + + # Revisionsnummer in ändern + echo "Ändere Zeile:" + grep "Revision" $DATEI + + sed -e "s/Revision [0-9]*, .*/Revision $REVISION, $(date)/1;" $DATEI > $DATEI.tmp + mv $DATEI.tmp $DATEI + echo "In Zeile:" + grep "Revision" $DATEI +done diff --git a/linux/xmodmap/neo_de.xmodmap b/linux/xmodmap/neo_de.xmodmap index f7ce819..f33e489 100644 --- a/linux/xmodmap/neo_de.xmodmap +++ b/linux/xmodmap/neo_de.xmodmap @@ -1,19 +1,21 @@ !! ~/.xmodmap -!! -!! Bei der Benutzung des Befehls »rev« muss die Zeile mit der aktuellen -!! Revisionsnummer stets die Zeilennummer 10 sein. Anderenfalls muss »rev« -!! angepasst werden. -!! -!! created by Benjamin Kellermann <Benjamin dot Kellermann at gmx dot Germany> -!! and Erik Streb <mail at erikstreb dot de> -!! -!! The german NEO Layout Revision 469 from Sa 5. Apr 22:28:05 CEST 2008 -!! see http://pebbles.schattenlauf.de/layout.php for details -!! +!! +!! 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 479, Fr 11. Apr 13:17:49 CEST 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 (named .xmodmap in your home directory) - +!! ~/.xmodmap !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! Modifier definition diff --git a/linux/xmodmap/rev b/linux/xmodmap/rev deleted file mode 100755 index d14f5c9..0000000 --- a/linux/xmodmap/rev +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/bash - -# Die Zeile in der die Revision stehen soll: -ZEILENNUMMER=10 - -case $1 in - "") ;; - "--help" | "-h") - echo -e "Aufruf: $0" - echo -e "»$0« wird ohne weiter Argumente aufgerufen und ändert in der Datei\nneo_de.xmodmap die Nummer der aktuellen Revision." - echo -e "Im Anschluss sollten gemachte Änderungem per »svn commit« wie gewohnt\nübertragen werden." - echo -e "\nNEO Tastaturlayout\tVer. 0.2\tMärz 2008\t\t\tREV" - exit;; - *) echo -e "Aufruf: »$0«" - echo -e "»$0 --help« gibt Ihnen mehr Informationen." - exit 1 -esac - -# Sicherung der aktuellen Arbeitskopie -cp -a neo_de.xmodmap neo_de.xmodmap.bak - -# Abfragen der nächsten Revisionsnummer -#r=$(expr $(svn info | head -5 | tail -1 | cut -f2 -d\:) + 1) -r=$(( $(svn info | sed -n 5~p | cut -f2 -d\:) + 1)) - -# Revisionsnummer in neo_de.xmodmap eintragen -head -n $(( $ZEILENNUMMER - 1)) neo_de.xmodmap > neo_de.xmodmap.tmp && \ -echo -e "!! The german NEO Layout Revision $r from $(date)" >> neo_de.xmodmap.tmp && \ -tail -n +$(( $ZEILENNUMMER + 1)) neo_de.xmodmap >> neo_de.xmodmap.tmp && \ -rm neo_de.xmodmap && mv neo_de.xmodmap.tmp neo_de.xmodmap && \ -echo -e "Aktuelle Revisionsnummer auf $r geändert.\nDie Änderung sollte nun per »svn commit« wie gewohnt übertragen werden." || \ -(echo -e "FEHLER! Bitte Programmierer kontaktieren." && cp -a neo_de.xmodmap.bak neo_de.xmodmap) |