summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--linux/X/de158
-rwxr-xr-xlinux/rev37
-rw-r--r--linux/xmodmap/neo_de.xmodmap28
-rwxr-xr-xlinux/xmodmap/rev32
4 files changed, 160 insertions, 95 deletions
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)