summaryrefslogtreecommitdiff
path: root/plum-tastatur
diff options
context:
space:
mode:
Diffstat (limited to 'plum-tastatur')
-rw-r--r--plum-tastatur/INSTALL.txt36
-rw-r--r--plum-tastatur/README.txt75
-rw-r--r--plum-tastatur/Tastatur NORMAL.regbin3170 -> 0 bytes
-rw-r--r--plum-tastatur/Tastatur PLUM.regbin4532 -> 0 bytes
-rwxr-xr-xplum-tastatur/enable-plum236
-rw-r--r--plum-tastatur/xkb/de497
6 files changed, 0 insertions, 844 deletions
diff --git a/plum-tastatur/INSTALL.txt b/plum-tastatur/INSTALL.txt
deleted file mode 100644
index 903641b..0000000
--- a/plum-tastatur/INSTALL.txt
+++ /dev/null
@@ -1,36 +0,0 @@
-
- Treiber zur Benutzung einer PLUM-Tastatur als Matrixtastatur
- Hans-Christoph Wirth <hcw*at*gmx*dot*de>
-
-* Installation unter Linux
-
- Der Treiber besteht aus einem Perlskript, welches die gerade aktive
- Belegung mittels xmodmap ausliest und verdreht wieder setzt. Es
- gibt keine (zuverlässige) Methode zu verhindern, dass dieser Vorgang
- zweimal ausgeführt wird; das Ergebnis wäre eine unbenutzbare
- Tastatureingabe. Daher sind Vorkehrungen zu treffen, im Fehlerfall
- eine nutzbare Tastaturbelegung etwa mit der Maus wiederherstellbar
- zu machen; ein Icon auf dem Desktop, welches einen Befehl der Art
- "xmodmap $HOME/.xmodmap" zur Ausführung bringt, ist dafür
- ausreichend.
-
- 1. Einstellen des gewünschten Layouts für die QWERT-Tastatur (mit
- xmodmap o.ä.)
-
- 2. Gemäß obiger Anleitung eine Strategie zum Zurückschalten
- zurechtlegen.
-
- 3. Das Skript "enable-plum" ohne Parameter aufrufen.
-
- Zu Testzwecken kann "enable-plum -n" aufgerufen werden, was die
- Befehle nur anzeigt, aber nicht ausführt.
-
-* Installation unter Windows
-
- Genutzt wird der Mechanismus von Windows, mittels eines Eintrags in
- der Registry Tastaturscancodes zu transformieren. Durch Doppelclick
- auf "Tastatur PLUM.reg" wird auf PLUM umgeschaltet, Doppelklick auf
- "Tastatur NORMAL.reg" schaltet wieder zurück.
-
- Die Änderung wird erst beim nächsten Einloggen wirksam und gilt dann
- systemweit.
diff --git a/plum-tastatur/README.txt b/plum-tastatur/README.txt
deleted file mode 100644
index d004a93..0000000
--- a/plum-tastatur/README.txt
+++ /dev/null
@@ -1,75 +0,0 @@
-
- Treiber zur Benutzung einer PLUM-Tastatur als Matrixtastatur
- Hans-Christoph Wirth <hcw*at*gmx*dot*de>
-
-* Was ist eine PLUM-Tastatur?
-
- Der interessante Aspekt ist die physikalische Anordnung der Tasten.
- Während bei einer herkömmlichen Tastatur die Reihen horizontal
- gegeneinander versetzt liegen, bildet die PLUM-Tastatur eine Matrix,
- d.h. die Tastenspalten liegen streng gerade untereinander.
-
- Für uns an der PLUM-Tastatur weniger interessant ist die Belegung
- der Tasten, die in der oberen Reihe das Wort PLUM und auf der
- Grundlinie die Wörter READONTHIS bildet.
-
- Die Tastatur ist günstig und preiswert bei www.plum.bz zu beziehen
- und wird per USB-Kabel angeschlossen.
-
-* Wofür brauche ich einen Treiber?
-
- Das PLUM-Layout ist fest verdrahtet, d.h. die Tastatur sendet
- verdrehte Scancodes. Um ein Layout, welches auf einer herkömmlichen
- 105-Tasten-PC-Tastatur läuft, mit der Plum-Tastatur zu nutzen,
- müssen die verdrehten Scancodes angepasst werden.
-
-* Kann ich PLUM nur mit NEO nutzen?
-
- Die Nutzung ist völlig unabhängig von dem gewählten Layout. Der
- Treiber sorgt nur dafür, dass sich die PLUM-Tastatur möglichst so
- verhält wie eine klassische QWERT-Tastatur.
-
-* Welche Einschränkungen bestehen?
-
- Die PLUM-Tastatur hat weniger Tasten, und manche müssen umgeordnet
- werden, damit das Blindschreiben im Zentralen weiterhin ermöglicht
- wird. Im Einzelnen:
-
- - die Taste '^' links von der '1' wandert neben die rechte
- Shifttaste
- - die Taste '<' zwischen Shift und 'y' wandert nach unten
- - es gibt keine linke Windowstaste und keine Menü-Taste mehr
- - die Taste 'return' nimmt die linke Hälfte der Leertaste ein
-
- Herkömmliche Tastatur
-
- +---+ +---+---+---+---+ +---+---+---+---+ +---+---+---+---+
- |esc| |f1 |f2 |f3 |f4 | |f5 |f6 |f7 |f8 | |f9 |f10|f11|f12|
- +---+---+---+---+---+---+-+-+-+-+-+-+-+-+-+-+---+---+---+---+
- | ^ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | ß | ' | bsp |
- +---+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+---+
- | tab | q | w | e | r | t | z | u | i | o | p | ü | + | ret |
- +-----++--++--++--++--++--++--++--++--++--++--++--++--++ |
- | lock | a | s | d | f | g | h | j | k | l | ö | ä | # | |
- +----+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+----+
- |shf | < | y | x | c | v | b | n | m | , | . | - | shf |
- +----+---++--+-+-+---+---+---+---+---+--++---+---++----+----+
- |ctrl| win| alt| spc |agr | win|menu|ctrl|
- +----+----+----+------------------------+----+----+----+----+
-
-
- PLUM-Belegung nach Installation des Treibers
-
- +---+---+---+---+---+---+---+---+---+---+---+---+---+
- |esc|f1 |f2 |f3 |f4 |f5 |f6 |f7 |f8 |f9 |f10|f11|f12|
- +---+---+---+---+---+---+---+---+---+---+---+---+---+
- | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | ß | ' |bsp|
- +---+---+---+---+---+---+---+---+---+---+---+---+---+
- |tab| q | w | e | r | t | z | u | i | o | p | ü | + |
- +---+---+---+---+---+---+---+---+---+---+---+---+---+
- |lck| a | s | d | f | g | h | j | k | l | ö | ä | # |
- +---+---+---+---+---+---+---+---+---+---+---+---+---+
- |shf| y | x | c | v | b | n | m | , | . | - |shf| ^ |
- +---+---+---+---+---+---+---+---+---+---+---+---+---+
- |ctr| < |alt| ret | spc |agr|win|ctl|
- +---+---+---+-----------+-----------+---+---+---+
diff --git a/plum-tastatur/Tastatur NORMAL.reg b/plum-tastatur/Tastatur NORMAL.reg
deleted file mode 100644
index 127442e..0000000
--- a/plum-tastatur/Tastatur NORMAL.reg
+++ /dev/null
Binary files differ
diff --git a/plum-tastatur/Tastatur PLUM.reg b/plum-tastatur/Tastatur PLUM.reg
deleted file mode 100644
index 6511c41..0000000
--- a/plum-tastatur/Tastatur PLUM.reg
+++ /dev/null
Binary files differ
diff --git a/plum-tastatur/enable-plum b/plum-tastatur/enable-plum
deleted file mode 100755
index 5ca348b..0000000
--- a/plum-tastatur/enable-plum
+++ /dev/null
@@ -1,236 +0,0 @@
-#!/usr/bin/perl -w
-
-# Enable PLUM to work as a standard pc keyboard
-# Written 2008 by Hans-Christoph Wirth <hcw@at@gmx@dot@de>
-# $Revision$
-# $Date$
-#
-# This command modifies any current X keymap (which is assumed to be
-# designed for use with an ordinary 105 key PC keyboard) so that it
-# can be used (almost) identically on a connected PLUM keyboard (see
-# www.plum.bz for information on that matrix-like keyboard).
-#
-# Usage:
-#
-# 1. Setup your keyboard layout for your standard keyboard using xmodmap.
-# 2. Read the warning below and prepare a recovery mechanism.
-# 3. Run this script without any parameters.
-#
-# Run with option "-n" to print the commands without executing them.
-#
-# Warning:
-#
-# There is no reliable way (that I am aware of) to determine the type
-# of the currently active keyboard. Hence we cannot prevent that you
-# call this script twice, which will instantaneously switch keyboard
-# input into a completely useless state. To recover from that, you
-# should prepare your desktop to run a recovery command (like 'xmodmap
-# $HOME/your-standard.modmap') on a mouse click.
-#
-######################################################################
-
-$XMODMAP = "/usr/bin/xmodmap";
-
-#
-# Options
-#
-$opt = shift || "";
-$noexec = $opt eq "-n" ? 1 : 0;
-$P = $noexec ? "! " : "";
-
-#
-# Read transformation matrix
-#
-while (<DATA>) {
- ($plum, $pc) = split;
- $plum[$pc] = 0+ $plum;
-}
-
-#
-# Read and parse existing map
-#
-print "${P}reading existing keymap\n";
-
-open (IN, "$XMODMAP -pke |") or die "read keyboard mapping failed\n";
-while (<IN>) {
- /^keycode\s+(\d+)\s+=\s+(.*)$/o or die "error: malformed line: $_\n";
-
- if ($plum[$1]) {
- push @clearkeys, "keycode $plum[$1] =\n";
- push @setkeys, "keycode $plum[$1] = $2\n";
-
- push @report_keys, (split( ' ', $2, 2 ))[0];
- }
-}
-close (IN);
-
-#
-# Read and parse existing modifiers
-#
-print "${P}reading existing modifiers\n";
-
-open (IN, "$XMODMAP -pm |") or die "read modifier list failed\n";
-while (<IN>) {
- unless (/^(shift|lock|control|mod\d)\s*(.*)$/) {
- next;
- }
-
- ($mod, $info) = ($1, $2);
-
- @infos = ();
- for (split( /,/, $info )) {
- s/\(\S*\)//;
- next if /^\s*$/;
- push @infos, $_;
- }
-
- push @clearmodifiers, "clear $mod\n";
- push @report_clearmodifiers, "$mod ";
-
- if (@infos) {
- push @setmodifiers, "add $mod = @infos\n";
- push @report_setmodifiers, "$mod ";
- }
-}
-close (IN);
-
-#
-# Now perform the changes using two external calls.
-#
-
-print "${P}clearing " . @report_keys . " keys... @report_keys\n";
-print "${P}clearing " . @report_clearmodifiers .
- " modifiers... @report_clearmodifiers\n";
-
-if ($noexec) {
- open (OUT, "| cat") or die "clear map failed\n";
-} else {
- open (OUT, "| $XMODMAP -") or die "clear map failed\n";
-}
-
-print OUT @clearkeys;
-print OUT @clearmodifiers;
-
-close (OUT) or die "clear map failed\n";
-
-print "${P}setting all keys and modifiers @report_setmodifiers\n";
-
-if ($noexec) {
- open (OUT, "| cat") or die "set new map failed\n";
-} else {
- open (OUT, "| $XMODMAP -") or die "set new map failed\n";
-}
-
-print OUT @setkeys;
-print OUT @setmodifiers;
-
-close (OUT) or die "set new map failed\n";
-
-# The data section lists the plum keyboard scancodes ordered from left
-# to right and top to bottom. Each line describes one key position in
-# the form 'plum code' 'pc code'. Since the keyboard is short of a
-# few keys we have to move some keys in the periphery: this affects in
-# particular
-#
-# - the key to the left of '1' moves down next to right shift
-# - the key to the right of left shift moves down; there is no longer
-# a left windows key
-# - return key moves down to space key, obviously
-#
-# As an example, the standard German 105 key layout is mapped as
-# follows:
-#
-#
-# regular pc layout
-#
-# esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-# ^ 1 2 3 4 5 6 7 8 9 0 ß ' -bsp-
-# tab q w e r t z u i o p ü + ret
-# lock a s d f g h j k l ö ä #
-# shf < y x c v b n m , . - ---shf---
-# ctr win alt ---------spc--------- agr win men ctr
-#
-#
-# plum mapping
-#
-# esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12
-# 1 2 3 4 5 6 7 8 9 0 ß ' bsp
-# tab q w e r t z u i o p ü +
-# lck a s d f g h j k l ö ä #
-# shf y x c v b n m , . - shf ^
-# ctr < alt ---ret--- ---spc--- agr win ctr
-
-__DATA__
-9 9
-67 67
-68 68
-69 69
-70 70
-71 71
-72 72
-73 73
-74 74
-75 75
-76 76
-95 95
-96 96
-49 10
-10 11
-11 12
-12 13
-13 14
-14 15
-15 16
-16 17
-17 18
-18 19
-19 20
-20 21
-21 22
-47 23
-33 24
-46 25
-30 26
-58 27
-23 28
-22 29
-54 30
-41 31
-42 32
-24 33
-48 34
-51 35
-36 36
-50 66
-27 38
-26 39
-38 40
-40 41
-32 42
-57 43
-28 44
-43 45
-31 46
-39 47
-62 48
-61 51
-66 50
-45 52
-44 53
-55 54
-56 55
-59 56
-60 57
-25 58
-53 59
-29 60
-52 61
-34 62
-35 49
-37 37
-115 94
-64 64
-65 65
-113 113
-116 116
-109 109
diff --git a/plum-tastatur/xkb/de b/plum-tastatur/xkb/de
deleted file mode 100644
index 71d47f1..0000000
--- a/plum-tastatur/xkb/de
+++ /dev/null
@@ -1,497 +0,0 @@
-
-// based on a keyboard map from an 'xkb/symbols/de' file
-//
-// $XKeyboardConfig$
-// $XFree86: xc/programs/xkbcomp/symbols/de,v 1.6 2003/09/08 13:12:51 pascal Exp $
-
-default
-xkb_symbols "basic" {
-
- include "latin(type4)"
-
- name[Group1]="Germany";
-
- key <AE02> { [ 2, quotedbl, twosuperior, oneeighth ] };
- key <AE03> { [ 3, section, threesuperior, sterling ] };
- key <AE04> { [ 4, dollar, onequarter, currency ] };
-
- key <AE11> {type[Group1]="FOUR_LEVEL_PLUS_LOCK", symbols[Group1]=
- [ssharp, question, backslash, questiondown, 0x1001E9E ]};
-// The unicode capital letter sharp s U+1E9E is transformed to "SS"
-// to match the rules for capitalizing sharp s in german.
-// If the capital sharp s is needed, delete the line
-// starting with <U1E9C> from /usr/share/X11/locale/iso8859-15/Compose.
-// If both doubled S and capital sharp s are needed, use 0x1001E9E
-// for capital sharp s and some free unicode codepoint like 0x1001E9C
-// for doubled S. Don`t forget to change this in the Compose file, too.
-
- key <AE12> { [dead_acute, dead_grave, dead_cedilla, dead_ogonek ] };
-
- key <AD03> { [ e, E, EuroSign, EuroSign ] };
- key <AD06> { [ z, Z, leftarrow, yen ] };
- key <AD11> { [udiaeresis, Udiaeresis, dead_diaeresis, dead_abovering ] };
- key <AD12> { [ plus, asterisk, dead_tilde, dead_macron ] };
-
- key <AC10> { [odiaeresis, Odiaeresis, dead_doubleacute, dead_doubleacute ] };
- key <AC11> { [adiaeresis, Adiaeresis, dead_circumflex, dead_caron] };
- key <TLDE> { [dead_circumflex, degree, notsign, notsign ] };
-
- key <BKSL> { [numbersign, apostrophe, dead_grave, dead_breve ] };
- key <AB01> { [ y, Y, guillemotleft, less ] };
-
- include "kpdl(comma)"
-
- include "level3(ralt_switch)"
-};
-
-partial alphanumeric_keys
-xkb_symbols "nodeadkeys" {
-
- // modify the basic German layout to not have any dead keys
-
- include "de(basic)"
- name[Group1]="Germany - Eliminate dead keys";
-
- key <TLDE> { [asciicircum, degree, notsign, notsign ] };
- key <AE12> { [apostrophe, grave, cedilla, cedilla ] };
- key <AD11> { [udiaeresis, Udiaeresis, diaeresis, diaeresis ] };
- key <AD12> { [ plus, asterisk, asciitilde, macron ] };
- key <AC10> { [odiaeresis, Odiaeresis, doubleacute, doubleacute ] };
- key <AC11> { [adiaeresis, Adiaeresis, asciicircum, asciicircum ] };
- key <BKSL> { [numbersign, apostrophe, grave, grave ] };
- key <AB10> { [ minus, underscore, dead_belowdot, abovedot ] };
-};
-
-partial alphanumeric_keys
-xkb_symbols "deadgraveacute" {
- // modify the basic German layout to have only acute and grave
- // as dead keys (tilde and circumflex are needed as spacing characters
- // in many programming languages)
-
- include "de(basic)"
- name[Group1]="Germany - Dead grave acute";
-
- key <TLDE> { [asciicircum, degree, notsign, notsign ] };
- key <AD12> { [ plus, asterisk, asciitilde, dead_macron ] };
- key <BKSL> { [numbersign, apostrophe, grave, grave ] };
-};
-
-partial alphanumeric_keys
-xkb_symbols "deadacute" {
- // modify the basic German layout to have only acute as
- // dead keys (ASCII grave, tilde and circumflex are needed as
- // spacing characters in many programming languages and text formatters)
-
- include "de(deadgraveacute)"
-
- name[Group1]="Germany - Dead acute";
-
- key <AE12> { [dead_acute, grave, dead_cedilla, dead_ogonek ] };
- key <BKSL> { [numbersign, apostrophe, dead_grave, dead_grave ] };
-};
-
-partial alphanumeric_keys
-xkb_symbols "ro" {
- // add romanian-specific letters to the basic German layout.
- // Romanian symbols are accessible with combination of <AltGr> and
- // 'a', 's', 't', 'i', 'ä (&auml)' (+<Shift> for capital letters).
- // To view romanian-specific symbols, add "export LC_CTYPE=ro_RO"
- // or "export LC_CTYPE=de_DE.utf8" to your .profile.
-
- include "de(basic)"
-
- name[Group1]="Germany - Romanian keyboard with German letters";
-
- key <AD05> { [ t, T, tcedilla, Tcedilla ] };
- key <AD08> { [ i, I, icircumflex, Icircumflex ] };
- key <AC01> { [ a, A, acircumflex, Acircumflex ] };
- key <AC02> { [ s, S, scedilla, Scedilla ] };
- key <AC11> { [ adiaeresis, Adiaeresis, abreve, Abreve ] };
-};
-
-partial alphanumeric_keys
-xkb_symbols "ro_nodeadkeys" {
- // add romanian-specific letters to the German nodeadkeys layout.
- // Read the comment for de_ro !
-
- include "de(nodeadkeys)"
- name[Group1]="Germany - Romanian keyboard with German letters, eliminate dead keys";
-
- key <AD05> { [ t, T, tcedilla, Tcedilla ] };
- key <AD08> { [ i, I, icircumflex, Icircumflex ] };
- key <AC01> { [ a, A, acircumflex, Acircumflex ] };
- key <AC02> { [ s, S, scedilla, Scedilla ] };
- key <AC11> { [ adiaeresis, Adiaeresis, abreve, Abreve ] };
-};
-
-// German Dvorak keymap by Thorsten Staerk (www.staerk.de/thorsten)
-// Have acute and grave as dead keys, tilde and circumflex alive as they are needed
-// in many programming languages.
-// to use this keymap, use a 105-key-keyboard and the command setxkbmap -model pc105 -layout dvorak -variant de
-// source: http://www-lehre.informatik.uni-osnabrueck.de/~rfreund/dvorak.php
-partial alphanumeric_keys
-xkb_symbols "dvorak" {
- include "us(dvorak)"
-
- name[Group1]="Germany - Dvorak";
-
- key <TLDE> { [ asciicircum, degree ] };
-
- key <AE01> { [ 1, exclam, onesuperior ] };
- key <AE02> { [ 2, quotedbl, twosuperior ] };
- key <AE03> { [ 3, section, threesuperior ] };
- key <AE04> { [ 4, dollar, bar ] };
- key <AE05> { [ 5, percent, bar ] };
- key <AE06> { [ 6, ampersand, brokenbar ] };
- key <AE07> { [ 7, slash, braceleft ] };
- key <AE08> { [ 8, parenleft, bracketleft ] };
- key <AE09> { [ 9, parenright, bracketright ] };
- key <AE10> { [ 0, equal, braceright ] };
- key <AE11> { [ plus, asterisk, asciitilde ] };
- key <AE12> { [ less, greater, dead_grave ] };
-
- key <AD01> { [ udiaeresis, Udiaeresis, at ] };
- key <AD02> { [ comma, semicolon, dead_diaeresis ] };
- key <AD03> { [ period, colon ] };
- key <AD08> { [ c, C, copyright, Cacute ] };
- key <AD09> { [ t, T, trademark ] };
- key <AD10> { [ z, Z, zabovedot, Zabovedot ] };
- key <AD11> { [ question, ssharp ] };
- key <AD12> { [ slash, backslash, dead_acute ] };
-
- key <AC01> { [ a, A, at, aogonek ] };
- key <AC02> { [ o, O, oacute, Oacute ] };
- key <AC03> { [ e, E, EuroSign, eogonek ] };
- key <AC04> { [ i, I ] };
- key <AC05> { [ u, U ] };
- key <AC06> { [ h, H ] };
- key <AC07> { [ d, D ] };
- key <AC08> { [ r, R, registered ] };
- key <AC09> { [ n, N, nacute, Nacute ] };
- key <AC10> { [ s, S, sacute, Sacute] };
- key <AC11> { [ l, L, lstroke, Lstroke ] };
-
- key <AB01> { [ odiaeresis, Odiaeresis ] };
- key <AB02> { [ q, Q, at ] };
- key <AB07> { [ m, M, mu ] };
- key <AB10> { [ numbersign, apostrophe ] };
-
- key <BKSL> { [ minus, underscore, hyphen, diaeresis] };
-
- key <LSGT> { [ adiaeresis, Adiaeresis, bar ] };
-
- include "level3(ralt_switch)"
-};
-
-partial alphanumeric_keys
-xkb_symbols "Sundeadkeys" {
-
- // For naming consistency
-
- include "de(basic)"
-
-};
-
-partial alphanumeric_keys
-xkb_symbols "sundeadkeys" {
-
- // For naming consistency
-
- include "de(Sundeadkeys)"
-
- name[Group1]="Germany - Sun dead keys";
-};
-
-// German NEO-Layout Version 2
-// 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 Kellermann <Benjamin dot Kellermann at gmx dot Germany>
-// Erik Streb <mail at erikstreb dot de>
-// and many other contributers
-// modified for plum keyboard by
-// Björn Seifert <bseifert@oern.de>
-//
-// http://www.neo-layout.org
-//
-// $Revision$, $Date$
-
-
-partial alphanumeric_keys modifier_keys keypad_keys
-xkb_symbols "neo" {
-
- name[Group1]= "Germany - Neo 2 for plum";
-
- // Levels in Neo jargon
- // --------------------------------------------------------------
- // Ebene 1: normal
- // Ebene 2: Shift
- // Ebene 3: Mod3
- // Ebene 4: Mod4 (for marking something use Shift+Mod4)
- // Ebene 5: Shift+Mod3
- // Ebene 6: Mod3+Mod4 (in this order)
- // Compose (not a level): Mod3+Tab
- // Feststelltaste (Capslock): Mod3+Mod3
- //
- // Levels in Xkbmap jargon to be found here in the definitions.
- // These are the levels used, and Xorg's translations with type="EIGHT_LEVEL":
- // --------------------------------------------------------------
- // Modifier: None Shift Mod3 Shift+Mod3 Mod4 Shift+Mod4 Mod3+Mod4
- // Xorg calls it: Level1 Level2 Level3 Level4 Level5 Level6 Level7
- // Neo calls it: Ebene1 Ebene2 Ebene3 Ebene5 Ebene4 Ebene4+Shift Ebene6
-
- // Modifier definitions
- // --------------------------------------------------------------
- // Definition of the so called Neo-Mod3
- // (FIXME Nur CAPS+BKSL ist Caps_Lock – Nicht andersherum, siehe Ticket #30)
- key.type[Group1]="THREE_LEVEL";
- key <AB10> { [ ISO_Level3_Shift, ISO_Level3_Shift, Caps_Lock ] };
- key <LFSH> { [ ISO_Level3_Shift, ISO_Level3_Shift, Caps_Lock ] };
-
- // Definition of the so called Neo-Mod4
- // FIXME ISO_Level5_Shift was causing problems, though it's defined in
- // /usr/include/X11/keysymdef.h on Ubuntu 8.10 (ticket #33),
- // using hexcode 0xfe11 again for now
- key <LWIN> { type[Group1]="ONE_LEVEL", [ 0xfe11 ]};
- key <RALT> { type[Group1]="ONE_LEVEL", [ 0xfe11 ]};
- modifier_map Mod3 { <LWIN>, <RALT> };
- // Attention: ^^^ This is a X server variable, not the Neo-Mod3.
-
- key.type[Group1]="EIGHT_LEVEL_ALPHABETIC" ;
-
- // Tab as Multi_key (Compose)
- // --------------------------------------------------------------
- key <AC10> { [ Tab, ISO_Left_Tab, Multi_key ] };
-
- key <CAPS> { [ Shift_L ]};
- key <AD11> { [ Shift_R ]};
-
- // number row
- // --------------------------------------------------------------
- key <AD12> { [ dead_circumflex, dead_tilde, dead_abovering, dead_breve, dead_caron, NoSymbol, dead_macron ] };
-
- key <TLDE> { [ 1, degree, onesuperior, onesubscript, ordfeminine, NoSymbol, notsign ] };
- key <AE01> { [ 2, section, twosuperior, twosubscript, masculine, NoSymbol, logicalor ] };
- key <AE02> { [ 3, U2113, threesuperior, threesubscript, numerosign, NoSymbol, logicaland ] };
- key <AE03> { [ 4, guillemotright, U203A, femalesymbol, Prior, Prior, U22A5 ] };
- key <AE04> { [ 5, guillemotleft, U2039, malesymbol, periodcentered, NoSymbol, U2221 ] };
- key <AE05> { [ 6, dollar, cent, U26A5, sterling, NoSymbol, U2225 ] };
-
- key <AE06> { [ 7, EuroSign, yen, Greek_kappa, currency, NoSymbol, rightarrow ] };
- key <AE07> { [ 8, doublelowquotemark, singlelowquotemark, U27E8, NoSymbol, NoSymbol, U221E ] };
- key <AE08> { [ 9, leftdoublequotemark, leftsinglequotemark, U27E9, KP_Divide, NoSymbol, U220B ] };
- key <AE09> { [ 0, rightdoublequotemark, rightsinglequotemark, zerosubscript, KP_Multiply, NoSymbol, emptyset ] };
-
- key <AE10> { [ minus, emdash, NoSymbol, U2011, KP_Subtract, NoSymbol, hyphen ] };
- key <AE11> { [ dead_grave, NoSymbol, dead_diaeresis, dead_dasia, dead_doublegrave, NoSymbol, NoSymbol ] };
-
- key <AE12> { [ BackSpace, BackSpace, BackSpace, BackSpace, BackSpace, BackSpace, BackSpace ] };
-
- // top row
- // --------------------------------------------------------------
- // xvlcwkhgfqß
- key <AD10> { [ x, X, ellipsis, Greek_xi, U22EE, NoSymbol, Greek_XI ] };
- key <AC09> { [ v, V, underscore, NoSymbol, BackSpace, BackSpace, U222E ] };
- key <AD07> { [ l, L, bracketleft, Greek_lambda, Up, Up, Greek_LAMBDA ] };
- key <AB07> { [ c, C, bracketright, Greek_chi, Delete, Delete, U2102 ] };
- key <TAB> { [ w, W, asciicircum, Greek_omega, Insert, Insert, Greek_OMEGA ] };
-
- key <BKSP> { [ k, K, exclam, U03F0, exclamdown, NoSymbol, radical ] };
- key <AB03> { [ h, H, less, Greek_psi, KP_7, NoSymbol, Greek_PSI ] };
- key <AC04> { [ g, G, greater, Greek_gamma, KP_8, NoSymbol, Greek_GAMMA ] };
- key <AC05> { [ f, F, equal, Greek_phi, KP_9, NoSymbol, Greek_PHI ] };
- key <AD01> { [ q, Q, ampersand, U03D5, KP_Add, NoSymbol, U211A ] };
- key <AC11> { [ ssharp, U1E9E, U017F, Greek_finalsmallsigma, NoSymbol, NoSymbol, jot ] };
-
- key <BKSL> { [ dead_acute, dead_cedilla, dead_stroke, dead_psili, dead_doubleacute, NoSymbol, dead_abovedot ] };
-
- // middle row
- // --------------------------------------------------------------
- // uiaeosnrtdy
- key <AD04> { [ u, U, backslash, NoSymbol, Home, Home, mu ] };
- key <AD03> { [ i, I, slash, Greek_iota, Left, Left, integral ] };
- key <AC01> { [ a, A, braceleft, Greek_alpha, Down, Down, U2200 ] };
- key <AC03> { [ e, E, braceright, Greek_epsilon, Right, Right, U2203 ] };
- key <AD09> { [ o, O, asterisk, Greek_omicron, End, End, elementof ] };
-
- key <AB06> { [ s, S, question, Greek_sigma, questiondown, NoSymbol, Greek_SIGMA ] };
- key <AD05> { [ n, N, parenleft, Greek_nu, KP_4, NoSymbol, U2115 ] };
- key <AC06> { [ r, R, parenright, U03F1, KP_5, NoSymbol, U211D ] };
- key <AD08> { [ t, T, minus, Greek_tau, KP_6, NoSymbol, partialderivative ] };
- key <AC02> { [ d, D, colon, Greek_delta, KP_Separator, NoSymbol, Greek_DELTA ] };
- key <RTSH> { [ y, Y, at, Greek_upsilon, KP_Decimal, NoSymbol, nabla ] };
-
- // bottom row
- // --------------------------------------------------------------
- // üöäpzbm,.j
- key <AC08> { [ udiaeresis, Udiaeresis, numbersign, NoSymbol, Escape, Escape, U211C ] };
- key <AC07> { [ odiaeresis, Odiaeresis, dollar, U03F5, Tab, Tab, U2111 ] };
- key <AB04> { [ adiaeresis, Adiaeresis, bar, Greek_eta, Next, Next, U2135 ] };
- key <AB05> { [ p, P, asciitilde, Greek_pi, Return, Return, Greek_PI ] };
- key <AB08> { [ z, Z, grave, Greek_zeta, NoSymbol, NoSymbol, U2124 ] };
-
- key <AB09> { [ b, B, plus, Greek_beta, colon, NoSymbol, U21D0 ] };
- key <AD02> { [ m, M, percent, Greek_mu, KP_1, NoSymbol, ifonlyif ] };
- key <AB02> { [ comma, endash, quotedbl, Greek_rho, KP_2, NoSymbol, U21D2 ] };
- key <AD06> { [ period, enfilledcircbullet, apostrophe, U03D1, KP_3, NoSymbol, Greek_THETA ] };
- key <AB01> { [ j, J, semicolon, Greek_theta, semicolon, NoSymbol, variation ] };
-
- // Space key
- // --------------------------------------------------------------
- key <SPCE> { [ space, space, space, nobreakspace, KP_0, NoSymbol, U202F ] };
-
- // Keypad
- // ===========
-
- // Num-Lock is no longer used with Neo:
- //key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD";
-
- // the former Numlock key:
- key <NMLK> { [ Tab, ISO_Left_Tab, equal, approxeq, notequal, NoSymbol, identical ] };
-
- // topmost row
- // --------------------------------------------------------------
- key <KPDV> { [ KP_Divide, KP_Divide, division, U2300, U2215, NoSymbol, U2223 ] };
- key <KPMU> { [ KP_Multiply, KP_Multiply, U2219, U2299, multiply, NoSymbol, U2297 ] };
- key <KPSU> { [ KP_Subtract, KP_Subtract, U2212, U2296, U2216, NoSymbol, U2238 ] };
-
- // top row
- // --------------------------------------------------------------
- key <KP7> { [ KP_7, U2714, U2195, U226A, KP_Home, KP_Home, upstile ] };
- key <KP8> { [ KP_8, U2718, uparrow, intersection, KP_Up, KP_Up, U22C2 ] };
- key <KP9> { [ KP_9, dagger, U20D7, U226B, KP_Prior, KP_Prior, U2309 ] };
- key <KPAD> { [ KP_Add, KP_Add, plusminus, U2295, U2213, NoSymbol, U2214 ] };
-
- // middle row
- // --------------------------------------------------------------
- key <KP4> { [ KP_4, club, leftarrow, includedin, KP_Left, KP_Left, U2286 ] };
- key <KP5> { [ KP_5, EuroSign, brokenbar, U22B6, KP_Begin, KP_Begin, U22B7 ] };
- key <KP6> { [ KP_6, U2023, rightarrow, includes, KP_Right, KP_Right, U2287 ] };
-
- // bottom row
- // --------------------------------------------------------------
- key <KP1> { [ KP_1, diamond, U2194, lessthanequal,KP_End, KP_End, downstile ] };
- key <KP2> { [ KP_2, heart, downarrow, union, KP_Down, KP_Down, U22C3 ] };
- key <KP3> { [ KP_3, U2660, U21CC, greaterthanequal,KP_Next, KP_Next, U230B ] };
- key <KPEN> { [ KP_Enter, KP_Enter, KP_Enter, KP_Enter, KP_Enter, KP_Enter, KP_Enter ] };
- key <KPEQ> { [ KP_Equal ] };
-
- // bottommost row
- // --------------------------------------------------------------
- key <KP0> { [ KP_0, U2423, percent, U2030, KP_Insert, KP_Insert, U25A1 ] };
- key <KPDL> { [ KP_Separator, KP_Decimal, period, apostrophe, KP_Delete, KP_Delete, quotedbl ] };
-
-};
-
-// Copied from macintosh_vndr/de
-// olh@suse.de very close to MacOS map
-
-partial alphanumeric_keys
-xkb_symbols "mac" {
-
- include "de"
- name[Group1]= "Germany - Macintosh";
-
- // Alphanumeric section
- key <AE01> { [ 1, exclam, exclamdown, at ] };
- key <AE05> { [ 5, percent, bracketleft ] };
- key <AE06> { [ 6, ampersand, bracketright ] };
- key <AE07> { [ 7, slash, bar, backslash ] };
- key <AE08> { [ 8, parenleft, braceleft, asciitilde ] };
- key <AE09> { [ 9, parenright, braceright ] };
- key <AD01> { [ q, Q, guillemotleft, guillemotright ] };
- key <AD04> { [ r, R, registered ] };
- key <AD07> { [ u, U, diaeresis, Aacute ] };
- key <AD08> { [ i, I, slash, Ucircumflex ] };
- key <AD11> { [ udiaeresis, Udiaeresis, periodcentered, degree ] };
- key <AD12> { [ plus, asterisk, asciitilde ] };
- key <AC01> { [ a, A, aring, Aring ] };
- key <AC05> { [ g, G, copyright ] };
- key <AC06> { [ h, H, ordfeminine ] };
- key <AC09> { [ l, L, at ] };
- key <AC10> { [ odiaeresis, Odiaeresis, dead_acute ] };
- key <AB06> { [ n, N, asciitilde ] };
-
-};
-
-partial alphanumeric_keys
-xkb_symbols "mac_nodeadkeys" {
- // modify the standard German mac layout to not have any dead keys
- include "de(mac)"
- name[Group1]= "Germany - Macintosh, eliminate dead keys";
- key <AE04> { [ 4, dollar, onequarter, currency ] };
-
- key <TLDE> { [ asciicircum, degree, notsign ] };
- key <AE12> { [ acute, grave, cedilla ] };
- key <AD11> { [ udiaeresis, Udiaeresis, diaeresis ] };
- key <AD12> { [ plus, asterisk, asciitilde, macron ] };
- key <AC10> { [ odiaeresis, Odiaeresis, acute ] };
- key <AC11> { [ adiaeresis, Adiaeresis, asciicircum ] };
-
- key <BKSL> { [ numbersign, apostrophe, grave ] };
-};
-
-partial alphanumeric_keys
-xkb_symbols "dsb"
-{
- name[Group1] = "Germany - Lower Sorbian";
- include "latin(basic)"
- include "level3(ralt_switch)"
- include "kpdl(comma)"
- key <AB01> { [ z, Z, zcaron, Zcaron ] };
- key <AB02> { [ x, X, zacute, Zacute ] };
- key <AB03> { [ c, C, cacute, Cacute ] };
- key <AB04> { [ v, V, ccaron, Ccaron ] };
- key <AB06> { [ n, N, nacute, Nacute ] };
- key <AC02> { [ s, S, sacute, Sacute ] };
- key <AC03> { [ d, D, scaron, Scaron ] };
- key <AC04> { [ f, F ] };
- key <AD01> { [ q, Q ] };
- key <AD02> { [ w, W ] };
- key <AD03> { [ e, E, ecaron, Ecaron ] };
- key <AD04> { [ r, R, racute, Racute ] };
- key <AD05> { [ t, T, U20B5, EuroSign ] };
- key <AD09> { [ o, O, oacute, Oacute ] };
-};
-
-partial alphanumeric_keys
-xkb_symbols "dsb_qwertz"
-{
- name[Group1] = "Germany - Lower Sorbian (qwertz)";
- include "latin(basic)"
- include "level3(ralt_switch)"
- include "kpdl(comma)"
- key <AB01> { [ y, Y ] };
- key <AB02> { [ x, X ] };
- key <AB03> { [ c, C, cacute, Cacute ] };
- key <AB04> { [ v, V, ccaron, Ccaron ] };
- key <AB06> { [ n, N, nacute, Nacute ] };
- key <AC02> { [ s, S, sacute, Sacute ] };
- key <AC03> { [ d, D, scaron, Scaron ] };
- key <AC04> { [ f, F ] };
- key <AD01> { [ q, Q ] };
- key <AD02> { [ w, W ] };
- key <AD03> { [ e, E, ecaron, Ecaron ] };
- key <AD04> { [ r, R, racute, Racute ] };
- key <AD05> { [ t, T, U20B5, EuroSign ] };
- key <AD06> { [ z, Z, zcaron, Zcaron ] };
- key <AD07> { [ u, U, zacute, Zacute ] };
- key <AD09> { [ o, O, oacute, Oacute ] };
-};
-
-partial alphanumeric_keys
-xkb_symbols "qwerty" {
-
- // This layout should work exactly as a de with the exception
- // of 'Z' and 'Y' keys, which are in the qwerty style (ie. swapped).
- // 2008 by Matej Košík <kosik@fiit.stuba.sk>
-
- include "de(basic)"
-
- name[Group1] = "Germany - qwerty";
-
- key <AB01> { [ z, Z, leftarrow, yen ] };
- key <AD06> { [ y, Y, guillemotleft, less ] };
-};