From 291272fffecd9cb8e0fa90bf9c59447d9edc486e Mon Sep 17 00:00:00 2001
From: ben <ben@b9310e46-f624-0410-8ea1-cfbb3a30dc96>
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 <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)
-- 
cgit v1.2.3