KeyWarrior 16 Commander für optimiertes Tastenlayout

Dies ist das deutsche Forum für alle Themen um den KeyWarrior. Beiträge bitte nur in Deutsch.

Moderator: Guido Körber

Post Reply
Holly-Marie
Posts: 2
Joined: Mon Jan 26, 2009 3:14 pm
Location: Dresden
Contact:

KeyWarrior 16 Commander für optimiertes Tastenlayout

Post by Holly-Marie »

Hallo liebes KeyWarrior Team,

Die heutigen Tastaturen sind Urenkel der mechanischen Schreibmaschinen und um "Kompatibilität" zu waren haben die immer noch den gleichen grauenvollen Aufbau der wegen der Mechanik damals nötig war. Für 2 Finger-Such-System ist das kein großes Problem. Jetzt wo ich 10-Finger-Blindschreiben lerne, muss ich aber feststellen, dass selbst heutige „ergonomische“ Tastaturen kein verspannungsfreies Arbeiten zulassen und viele der im Deutschen und Englischen sehr häufigen Buchstaben nicht auf der Grundtastenreihe liegen.
Auch die versetzten Tastenreihen zwingen die Finger zu seitwärts Drehungen für die sie gar nicht die Gelenke haben.

Daher möchte ich gern eine eigen Tastatur bauen, die sich an dem Layout von Maltron J-Type orientieren soll.
http://www.maltron.com/maltron-kbd-jtype.html
Image

Dabei bin ich auf den KeyWarrior 16 Commander als Keyboard-Encoder gestoßen.
Allerdings sind mir einige Dinge immer noch unklar.

Zum einen würde ich gern das normale QWERTZ-Layout umsetzen. Zusätzlich aber auch eine eigen optimierte Anordnung der Tasten. Das wird vermutlich auch nicht das Maltron-Layout sein, da es immer noch einige unschöne Nachteile hat. Das gilt besonders für die deutsche Ausführung.
Ideal wäre auch noch eine 3. Belegung realisieren zu können, die die Tasten optimiert zum Spielen anordnet. Das wäre aber eher Bonus da ich selten spiele.

1.
Wenn ich das KeyWarrior_Datasheet.pdf richtige verstehe hat auch der KeyWarrior16 Commander 2 Fn-Keys.
There is no KeyWarrior 8 Commander since KeyWarrior 16 Commander does already support 2 Function-Shift keys.
Wenn dem so ist habe ich dann trotzdem nur 256 Einträge, kann also nicht alle Matrixpunkte mit Tasten belegen (256 / 3 = 85 +1), oder hat der KeyWarrior16 Commander dann 8 * 16 * 3 = 384 Einträge im Master Translation Table und gegebenenfalls weniger lange oder weniger Makros? Wenn ja, welche Einschränkungen gibt es?

2.
Ich würde für das Umschalten der Master Translation Table einen Wippschalter mit Mittelaus benutzen. Die beiden Entstellungen würden dabei jeweils Fn1 oder Fn2 (nie beide) dauerhaft "betätigen". Ist das so möglich oder muss ich da mit Problemen rechnen? (Was passiert eigentlich wennbeide gleichzeitig gedrückt würden?)

3.
Da ich auch programmiere benötige ich oft { [ ] } | die alle rechts oben als Drittbelegung zu finden sind und mit der Umschalttaste (AltGr) unten rechts oder mit 2 Umschalttasten links erreichbar sind. Beides ist ziemlich umständlich.
Ist es möglich diese Zeichen auf andere Tasten zu legen?
Also zum Beispiel wie im Englischen { [ zusammen (mit Shift) und ] } zusammen. Ich bin nicht sicher ob sich das mit Makros so realisieren lässt? Abhängig vom Drücken der Shift-Taste müssten ja unterschiedliche Makros gesendet werden, während unter Umständen gleichzeitig auch noch ein Fn-Key „gedrückt“ (eingeschaltet) ist.

4.
Ich würde gern zumindest einige Media-Keys nutzen. Konkret interessieren mich die Lautstärke-Tasten ($7F-$81?) so wie das Starten des Email-Clients und des (Taschen)-Rechners..
Im Moment ist aber nur ein Keyboard geplant, so dass ich nicht auf die Mindeststückzahl (100?) für eine benutzerdefinierte Serie komme.
Welche Möglichkeiten habe ich hier andere Sondertasten (F13-F14 oder $87-$A4) softwareseitig umzuleiten (zu missbrauchen)?

Zu den Media-Keys:
In dem Thread zu Spinnern und Sondertasten wird zwar gesagt es gäbe standardmäßig keine Media-Keys aber das ist 2,5 Jahre her. Stimmt das so allgemein immer noch?

5.
In KeyWarriorScancodeTables_02.pdf vom 12. August 2008 finden sich folgende Codes bei denen ich mir nicht sicher bin was genau sie bewirken:

$74 Keyboard Execute (wie Enter?)
$75 Keyboard Help (wie F1?)
$76 Keyboard Menu (wie Keyboard Appl i cati on (Menu)?)
$77 Keyboard Select
$78 Keyboard Stop (wie ESC?)
$79 Keyboard Again (wiederhole die letzte Taste? auch Makros?)
$7A Keyboard Undo (wie Undo in Programmen?)
$7B Keyboard Cut (wie Ctrl+X?)
$7C Keyboard Copy (wie Ctrl+C?)
$7D Keyboard Paste (wie Ctrl+v?)
$7E Keyboard Find (wie Windowssuche bzw. Suchen in Word oder IE?)

Sind das nicht zumindest ein paar der Media-Keys? Bewirken die auch das in Windows ohne extra Code im OS?
$7F Keyboard Mute
$80 Keyboard Volume Up
$81 Keyboard Volume Down

Was bewirken diese Keys? Werden die an Windows oder Linux geschickt und wenn ja mit welchen Codes?
$87 Keyboard Kanj i 1
...
$8F Keyboard Kanj i 9
$90 Keyboard LANG1
...
$98 Keyboard LANG9
$99 Keyboard Alternate Erase
$9A Keyboard SysReq/Attenti on
$9B Keyboard Cancel
$9C Keyboard Clear
$9D Keyboard Prior
$9E Keyboard Return
$9F Keyboard Separator
$A0 Keyboard Out
$A1 Keyboard Oper
$A2 Keyboard Clear/Again
$A3 Keyboard CrSel /Props
$A4 Keyboard ExSel
Knowledge is a polite word for dead but not buried imagination.
E. E. Cummings

Give everyone the benefit of the doubt
because certainty is a fragile thing that can be shattered by one overlooked fact.
Erin from BigCloset-Topshelf?
Guido Körber
Site Admin
Posts: 2856
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Re: KeyWarrior 16 Commander für optimiertes Tastenlayout

Post by Guido Körber »

1. 3 Ebenen a 128 Tasten, 48 Macros, so wie im Datenblatt beschrieben.

2. Rastende FN-Tasten sind kein Problem, wenn beide gleichzeitig gedrückt sind ist FN2 aktiv.

3. Zeichen sind keine Tasten. Belegungen mit Sonderzeichen sind immer abhängig vom Betriebssystem und eingestellter Sprache. FN-Taste und Modifiers können mittels Macro auf einer Taste kombiniert werden, aber es gibt keine Möglichkeit Abhängigkeiten zwischen Tasten zu definieren (das ist ein Tastaturcontroller, keine SPS!).

4. Mediakeys sind in den Standardausführungen des KeyWarrior nicht verfügbar.

5. Diese Usagecodes werden von den meisten Systemen nicht unterstützt. Kanji-Compose Keys und Lang-Keys sind für Japanisch und andere asiatische Sprachen.
Holly-Marie
Posts: 2
Joined: Mon Jan 26, 2009 3:14 pm
Location: Dresden
Contact:

Re: KeyWarrior 16 Commander für optimiertes Tastenlayout

Post by Holly-Marie »

Hi Guido,

erst mal danke für die super schnelle Antwort.

zu 3.
Ich hab mich da wohl unglücklich ausgedrückt. Mir ist bewusst, dass die Tastatur Scan Codes (pro Taste) sendet, nicht Zeichen.
Ich möchte gern folgendes machen:

für eine bestimmte Taste der Matrix: (Zahlen ohne Zusätze sind HEX)
QWERTZ [N]
Codeset 0 -> ohne Shift -> Usage Code $11 -> Zeichen: n
Codeset 0 -> mit Shift -> Usage Code $E1 $11 -> Zeichen: N
Optimiert (Fn1 eingerastet) [\ |]
Codeset 1 -> ohne Shift -> Usage Code $B0 -> Makro 0 -> Stable $E6 $2D -> R-Alt (AltGr) + [ß ? \] -> Zeichen: \
Codeset 1 -> mit Shift -> Usage Code $E1 $B1 -> Makro 1 -> Stable $E6 $64 -> R-Alt (AltGr) + [< > |] -> Zeichen: |

3.a)
Als ich das so schrieb fiel mir auf, dass es so wohl kaum funktionieren kann. Ich kann sicher jeder Taste nur ein Makro zuweisen so wie auch nur einen Usage Code.
Daher vermute ich, dass Umschalttasten (Shift, Alt, AltGr, Ctrl) sich nicht auf Makros (bzw. Tasten mit Makros) auswirken.
Ist das so korrekt?

3.b)
Allerdings kam mir dabei eine noch verrückter Idee unter Berücksichtigung von:
2. Rastende FN-Tasten sind kein Problem, wenn beide gleichzeitig gedrückt sind ist FN2 aktiv.
für die linke Shift-Taste:
QWERTZ
Codeset 0 -> Usage Code $E1 -> Keyboard LeftShift
Optimiert (Fn1 eingerastet)
Codeset 1 -> Usage Code $C0 -> Makro 16 -> Stable $FE $E1 -> Fn2 + L-Shift -> Fn2 dominiert Fn1 -> Codeset 2 + Shift
Codeset 2 -> Usage Code $C0 -> Makro 16 -> Stable $FE $E1 -> Fn2 + L-Shift -> Fn2 dominiert Fn1 -> Codeset 2 + Shift
Da die Codesets eine totale Ordnung bilden (0 -> 1 -> 2) und für die Codesets 1 und 2 das gleiche Makro angewendet wird, dürfte es keine Probleme geben. Auch eine eventuell zusätzlich gedrückte R-Shift sollte sich nicht negativ auswirken.

Entsprechend für die rechte Shift-Taste.

für die obige Taste der Matrix:
QWERTZ [N]
Codeset 0 -> ohne Shift -> Usage Code $11 -> Zeichen: n
Codeset 0 -> mit Shift -> Usage Code $E1 $11 -> Zeichen: N
Optimiert (Fn1 eingerastet) [\ |]
Codeset 1 -> ohne Shift -> Usage Code $B0 -> Makro 0 -> Stable $E6 $2D -> R-Alt (AltGr) + [ß ? \] -> Zeichen: \
Codeset 1 -> mit Shift (Fn2 + Shift) -> Codeset 2 -> Usage Code $E1 $B1 -> Makro 1 -> Stable $E6 $64 -> R-Alt (AltGr) + [< > |] -> Zeichen: |

z. B. für die Taste H (D):
QWERTZ [H]
Codeset 0 -> ohne Shift -> Usage Code $0B -> h
Codeset 0 -> mit Shift -> Usage Code $E1 $0B -> H
Optimiert (Fn1 eingerastet) [D]
Codeset 1 -> ohne Shift -> Usage Code $07 -> d
Codeset 1 -> mit Shift (Fn2 + Shift) -> Codeset 2 -> Usage Code $E1 $07 -> D

Mir ist bewusst, dass Key Warrior dafür nicht gedacht war, aber es sollte doch schon so gehen, oder sehe ich das falsch?

Ganz super wäre natürlich, wenn du es mal für mich ausprobieren könntest.

zu 4.
Was überträgt denn das PS/2 Interface für diese Usage Codes wenn keine Media-Key Scan Codes?
Ich hätte zu mindest für diese 3 Tasten dies erwartet:
Usage Function .................... Key .............. Make Code .. Break Code
$7F .. Keyboard Mute ............. Mute ............ E0, 23 ........ E0, F0, 23
$80 .. Keyboard Volume Up ....... Volume Up ..... E0, 32 ........ E0, F0, 32
$81 .. Keyboard Volume Down .... Volume Down .. E0, 21 ........ E0, F0, 21

Oder werden diese Codes nur über USB übertragen? Das käme für mich aber wegen der 3 Codesets wieder nicht in Frage, da die ja nur mit PS/2 funktionieren..

zu 5.
Wie sieht es den generell mit diesen Sondertasten aus, die keine AT1-101- oder Mac-Referenz haben? Welche Schnittstellen senden denn einen Code und wie sieht der aus?
Kann ich den eventuell softwareseitig abfangen und in Media-Key Scan Codes umwandeln, bzw. direkt entsprechende Funktionen auslösen?

In jedem Fall schon mal vielen Dank für deine Zeit.

Holly
Knowledge is a polite word for dead but not buried imagination.
E. E. Cummings

Give everyone the benefit of the doubt
because certainty is a fragile thing that can be shattered by one overlooked fact.
Erin from BigCloset-Topshelf?
Guido Körber
Site Admin
Posts: 2856
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Re: KeyWarrior 16 Commander für optimiertes Tastenlayout

Post by Guido Körber »

3. Ist mir jetzt etwas zu kompliziert um das im Einzelnen nachzuvollziehen, generell ist es so, dass FN Tasten in Macros verwendet werden können, Macros schachteln geht nicht. Wir haben einige Kunden, die das verwenden um z.B. die Shift-Taste gleichzeitig als FN Taste zu benutzen.

4. Die meisten dieser Tasten haben keine direkten Äquivalente bei PS/2 und werden vom KeyWarrior nicht umgesetzt. Mute, Volume Up etc. funktionieren kaum irgendwo, da die Treiber nur die richtigen Media Keys implementieren und die sind nicht in der KeyBoard Usage Page.

5. dto.
Treiber schreiben macht auf Windows keinen Spaß...
Post Reply