From 291272fffecd9cb8e0fa90bf9c59447d9edc486e Mon Sep 17 00:00:00 2001 From: ben Date: Fri, 11 Apr 2008 11:19:30 +0000 Subject: rev script angepasst, damit es mit xkbmap und xmodmap funktioniert xkbmap und xmodmap in der Formatierung angeglichen git-svn-id: https://svn.neo-layout.org@479 b9310e46-f624-0410-8ea1-cfbb3a30dc96 --- linux/X/de | 158 +++++++++++++++++++++++++++++-------------- linux/rev | 37 ++++++++++ linux/xmodmap/neo_de.xmodmap | 28 ++++---- linux/xmodmap/rev | 32 --------- 4 files changed, 160 insertions(+), 95 deletions(-) create mode 100755 linux/rev delete mode 100755 linux/xmodmap/rev diff --git a/linux/X/de b/linux/X/de index 10a3e61..c017a4f 100644 --- a/linux/X/de +++ b/linux/X/de @@ -203,39 +203,89 @@ xkb_symbols "sundeadkeys" { }; -// German NEO Style +// German NEO-Layout // adopted 2004 by Hanno Behrens // 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 +// +// Benjamin Kellermann +// // Other Questions: -// 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 { [ ISO_Level3_Shift, ISO_Level3_Shift ] }; + key { [ ISO_Level3_Shift, ISO_Level3_Shift, Caps_Lock ] }; + // Mod4 + key { [ 0xfe11, 0xfe11 ] }; + key { [ 0xfe11, 0xfe11 ] }; + modifier_map mod5 { , }; + 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, ISO_Left_Tab, Multi_key ] }; + + //////////////////////////////////////////////////// + // The first row (number Row) + //////////////////////////////////////////////////// key { [ dead_circumflex, dead_caron, dead_breve, dead_stroke, dead_belowdot, dead_belowdot ] }; + key { [ 1, degree, onesuperior, femalesymbol, enfilledcircbullet, notsign ] }; key { [ 2, numerosign, twosuperior, U26A5, U2023, logicalor ] }; key { [ 3, section, threesuperior, malesymbol, 3, logicaland ] }; key { [ 4, guillemotright, U203A, U2113, Prior, Prior ] }; key { [ 5, guillemotleft, U2039, dagger, 5, implies ] }; key { [ 6, EuroSign, cent, 6, sterling, U2225 ] }; + key { [ 7, dollar, yen, U03F0, currency, notelementof ] }; key { [ 8, doublelowquotemark, singlelowquotemark, 8, slash, U2203 ] }; key { [ 9, leftdoublequotemark, leftsinglequotemark, 9, asterisk, U2200 ] }; key { [ 0, rightdoublequotemark, rightsinglequotemark, 0, minus, logicalor ] }; + key { [ minus, endash, emdash, U2011, minus, hyphen ] }; key { [ dead_acute, dead_grave, dead_cedilla, dead_ogonek, dead_abovedot, dead_abovering ] }; - // 2nd row + //////////////////////////////////////////////////// + // The upper row + //////////////////////////////////////////////////// key { [ x, X, x, Greek_xi, x, Greek_XI ] }; key { [ v, V, underscore, v, BackSpace, BackSpace ] }; key { [ l, L, bracketleft, Greek_lambda, Up, Up ] }; @@ -249,7 +299,9 @@ xkb_symbols "neo" { key { [ ssharp, U1E9E, U017F, Greek_finalsmallsigma, ssharp, jot ] }; key { [ dead_tilde, dead_macron, dead_diaeresis, dead_doubleacute ] }; - // 3rd row + //////////////////////////////////////////////////// + // The home row (middle row) + //////////////////////////////////////////////////// key { [ u, U, backslash, u, Home, Home ] }; key { [ i, I, slash, Greek_iota, Left, Left ] }; key { [ a, A, braceleft, Greek_alpha, Down, Down ] }; @@ -262,7 +314,9 @@ xkb_symbols "neo" { key { [ d, D, colon, Greek_delta, comma, Greek_DELTA ] }; key { [ y, Y, at, Greek_upsilon, y, nabla ] }; - // 4th row + //////////////////////////////////////////////////// + // The lower row + //////////////////////////////////////////////////// key { [ udiaeresis, Udiaeresis, numbersign, udiaeresis, Escape ] }; key { [ odiaeresis, Odiaeresis, dollar, odiaeresis, Tab, Tab ] }; key { [ adiaeresis, Adiaeresis, bar, Greek_eta, Next, Next ] }; @@ -274,50 +328,54 @@ xkb_symbols "neo" { key { [ period, ellipsis, apostrophe, Greek_theta, 3, Greek_THETA ] }; key { [ j, J, semicolon, U3D1, period, nabla ] }; + //////////////////////////////////////////////////// + // Space key + //////////////////////////////////////////////////// key { [ space, space, space, nobreakspace, 0, U202F ] }; - // Compose bzw. Kombinationstaste auf Mod3+Tab - key { [ 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 { [ ISO_Level3_Shift, ISO_Level3_Shift ] }; - key { [ ISO_Level3_Shift, ISO_Level3_Shift, Caps_Lock ] }; - // Mod4 - key { [ 0xfe11, 0xfe11 ] }; - key { [ 0xfe11, 0xfe11 ] }; - modifier_map mod5 { , }; - + //////////////////////////////////////////////////// // Keypad - - // key { [ Num_Lock, Pointer_EnableKeys ] }; - - key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ; - - key { [ KP_Divide, KP_Divide, division, U2215 ] }; - key { [ KP_Multiply, KP_Multiply, multiply, U22C5 ] }; - key { [ KP_Subtract, KP_Subtract, U2212 ] }; - - key { [ KP_Home, KP_7, KP_7, U226A ] }; - key { [ KP_Up, KP_8, uparrow, intersection ] }; - key { [ KP_Prior, KP_9, KP_9, U226B ] }; - key { [ KP_Add, KP_Add, plusminus, U2213 ] }; - - key { [ KP_Left, KP_4, leftarrow, includedin ] }; - key { [ EuroSign, KP_5, dagger, U220A ] }; - key { [ KP_Right, KP_6, rightarrow, includes ] }; - - key { [ KP_End, KP_1, U21CB, lessthanequal ] }; - key { [ KP_Down, KP_2, downarrow, union ] }; - key { [ KP_Next, KP_3, U21CC, greaterthanequal ] }; - key { [ KP_Enter, KP_Enter, notequal, U2248 ] }; - key { [ KP_Equal ] }; - - key { [ KP_Insert, KP_0, percent, U2030 ] }; - key { [ KP_Delete, KP_Decimal, period, comma ] }; + //////////////////////////////////////////////////// + //////////////////////////////////////////////////// + // The uppest row + //////////////////////////////////////////////////// + // key { [ Num_Lock, Pointer_EnableKeys ] }; + + key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ; + + key { [ KP_Divide, KP_Divide, division, U2215 ] }; + key { [ KP_Multiply, KP_Multiply, multiply, U22C5 ] }; + key { [ KP_Subtract, KP_Subtract, U2212 ] }; + + //////////////////////////////////////////////////// + // The upper row + //////////////////////////////////////////////////// + key { [ KP_Home, KP_7, KP_7, U226A ] }; + key { [ KP_Up, KP_8, uparrow, intersection ] }; + key { [ KP_Prior, KP_9, KP_9, U226B ] }; + key { [ KP_Add, KP_Add, plusminus, U2213 ] }; + + //////////////////////////////////////////////////// + // The middle row + //////////////////////////////////////////////////// + key { [ KP_Left, KP_4, leftarrow, includedin ] }; + key { [ EuroSign, KP_5, dagger, U220A ] }; + key { [ KP_Right, KP_6, rightarrow, includes ] }; + + //////////////////////////////////////////////////// + // The lower row + //////////////////////////////////////////////////// + key { [ KP_End, KP_1, U21CB, lessthanequal ] }; + key { [ KP_Down, KP_2, downarrow, union ] }; + key { [ KP_Next, KP_3, U21CC, greaterthanequal ] }; + key { [ KP_Enter, KP_Enter, notequal, U2248 ] }; + key { [ KP_Equal ] }; + + //////////////////////////////////////////////////// + // The lowest row + //////////////////////////////////////////////////// + key { [ KP_Insert, KP_0, percent, U2030 ] }; + key { [ 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 + + +case $1 in + "--help" | "-h") + echo "Aufruf: $0 " + echo "Beispiel: $0 xmodmap/neo_de.xmodmap X/de" + echo "»$0« ändert in der oder den 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 -!! and Erik Streb -!! -!! 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 +!! inspired by Dvorak/de-ergo http://www.goebel-consult.de/de-ergo/ +!! Authors: +!! Benjamin Kellermann +!! Erik Streb +!! +!! Other Questions: +!! +!! +!! 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 . !! 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) -- cgit v1.2.3