Re: [Neo] Hardware: Anzahl der Tasten

2010-05-16 Diskussionsfäden Michael Ostermeier
Hallo Peter,

Am 15.05.2010 schrieb Peter Eberhard:
 Hmm, interessant. Im Vergleich zu Karls Vorschlag lässt du weg:
 Compose, Enter, Esc, 2xMod4, Lock bzw. Del, RAlt, Tab, Rücktaste.
 Dafür kommen F1 bis F4 hinzu.

Falls RAlt Alt-Gr ist, so wäre das Mod4-R. Die Beiden Mod4 sind bei mir
ebenfalls vorhanden. Fn wäre die Zweitbelegung dieser Tasten. Siehe
unten.

 Und ich bin sowieso dagegen, dass wir zwei verschiedene Möglichkeiten
 (Mod4 und Fn) einbauen, wie man fehlende Tasten ersetzen kann. Meiner
 Meinung nach sollte sich da eher das Standardtastatur-Neo3 entsprechend
 anpassen und eine Fn-Taste in Software emulieren. Treibermäßig ist das
 kein Problem, xkb sieht eine solche Funktion jedenfalls ausdrücklich
 vor, und im NeoVars haben wir ohnehin die ultimative Kontrolle.

  Beim Layout sollte man dann aber auf ein Notebook-Fn verzichten und
  gleich alle Tasten, die nicht auf der ersten Ebene sind, in eine
  zusammengelegte Fn/4. Ebene packen. Funktionstasten in die Ziffernreihe,
  Navigation und Nummernblock ähnlich wie die Neo2-Ebene 4. Sonst wären
  mir das alles zuviele Modi: Fn, Num, Mod4… das sollte alles vereinigt
  werden. Finde ich.
  Der Vorschlag ist eine genauere Überlegung wert. Ich befürchte, dass über 
  die
  für die Ebene4 notwendigen Tasten hinaus so viele Tasten erforderlich 
  werden,
  dass insgesamt nicht genug Tasten vorhanden sind. Sollte das der Fall 
  sein, dann
  liegt nahe, einige Tasten wie PrtSc, ScrlLk, Pause, Num, cut, copy, paste, 
  redo,
  Power, Sleep, Wake, rGUI (=rWin) und Caps auf eine Fn-Ebene auszulagern.
 
 Ich finde auch, dass das den Zeichenumfang sehr einschränkt . Es fehlt
 ja schon der Nummernblock (zumindest dessen höhere Ebenen).
 
 Ähm? Ich verstehe nicht, was du hier meinst.

Wenn die Fn- und die Mod4-Ebene zusammengelegt werden, dann müssen für
F5–12, Druck, Pause, … weitere Positionen auf Ebene 4 belegt werden.
Damit fallen aber dann einige der jetzigen Zeichen hinten runter.

 Bei der Funktion der Mod4 / Fn Taste habe ich in deiner Mail
 (hmk5qp$6f...@dough.gmane.org) gewildert (Mod4 drücken + loslassen =
 Fn). Wahrscheinlich ist das gewöhnungsbedürftig.
 Nun ja. Kann man sowas einem Controller beibringen?

Einem programmierbaren Controller mit unveränderlicher Grund-Firmware
(z.B. SK5101) vielleicht nicht (hängt von der Firmware ab), einem
Standard-Tastatur-Controller definitiv nicht, einem Standard-μC ja,
erfordert aber Arbeit. Mittlerweile bin ich aber auch für separate
Fn-Tasten.

 Warum nicht Mod4R+Mod4L = Mod4-Lock; ShiftR+ShiftL = Capslock?
 
 Das ist schon OK, aber aus zwei Gründen mag ich diese Lösung nicht:
 
 • Der Tasten-loslass-Code ist anders als der Tasten-drück-Code. Mod4
 loslassen erzeugt nicht ISO_Level5_Shift, sondern ISO_Level5_Lock (je
 nach Treiber), weil ja gerade die 4. Ebene aktiv ist.
 Ich benutze manchmal Bochs, und da wird leider nicht der Keycode,
 sondern die Keysym benutzt, um festzustellen, welche Taste gedrückt
 wurde, und sie an die Emulation weiterzuleiten. Im vorliegenden Falle
 würde Shift-Drücken zwar ankommen, aber Shift-Loslassen wegen der
 anderen Keysym nicht. Damit bleibt innerhalb der Emulation dann die
 Shift-Taste aktiv, und ich kann nur noch groß schreiben…
 Ja, Bochs ist eine obskure Software und dieses Verhalten mehr ein Bug
 als ein Feature, aber prinzipiell kann es Probleme bringen, höhere
 Ebenen von Modifiern zu belegen.
 
 • Man benötigt unter xkb jeweils einen eigenen X-Modifier, um dieses
 Verhalten zu erzeugen. Damit nämlich Mod4 bei aktivem Mod4Lock wieder
 die Ebene 1 erzeugt. Es gibt aber nur 8 X-Modifier, sie sind ein äußerst
 knappes Gut. Jemand, der aus irgendwelchen Gründen einen eigenen,
 zusätzlichen benutzen will, wird momentan im Regen stehen gelassen, da
 wir im Neo2-xkb-Treiber alle selbst benötigen.
 Und man kann diese Lösung dann eben auch NUR bei Caps und Mod4Lock
 benutzen, für weitere Locks reichen die Mods nicht.

Mit genug Willen könnte in einer eigenen Firmware ja auch, wenn beide
Shift gedrückt werden statt den Shift-Scancodes der Scancode von
Caps-Lock gesendet werden. Das hilft aber bei der Verwendung von
Noch-Standard-Tastaturen nichts. Im Treiber muss es also sowieso drin
sein.

Mod4-Lock würde ich vielleicht lieber lokal in der Tastatur haben
wollen und dann bei jedem Tastendruck separat Mod4 mitsenden. Weiß aber
nicht, ob das nicht auch problematisch wäre. Funktioniert aber wieder
nicht mit 105-Tasten-Dingern.

Aus Kompatibilitätsgründen (oder wo soll man den ISO-Lock auf
Standardtastaturen unterbringen) würde ich also für die bisherige
Vorgehensweise plädieren.

  PPS: Meine Darstellung der Ebenen im pdf nach dem Prinzip
  Vektoradition
  finde ich unübertroffen schön.
 Ich auch. Nunja, vielleicht nicht *unübertroffen* ;-).
 Allerdings würde Shift+Mod3+Mod4 wieder auf Ebene 1 landen :-p.

Das war mir bewußt, aber ich denke, mich daran erinnern zu können, dass
die Ebene 8 nie benutzt werden wird/soll. Ebene 7 ist ja auch schon
nicht konsensfähig gewesen (nicht 

Re: [Neo] Hardware: Anzahl der Tasten (was: Re: Neo-Hardware-Entwicklung)

2010-05-15 Diskussionsfäden Peter Eberhard
Am Donnerstag, den 13.05.2010, 17:53 +0200 schrieb Michael Ostermeier:
 Vielleicht willst Du Dir mal meine Überlegung zur Anzahl der Tasten
 ansehen. Ich komme mit weniger Tasten aus als Du (5 pro Daumen).
 Ein Vergleich zwischen Standard und meinem Vorschlag ist:
 http://miche.host4free.de/vgl.png.

Hmm, interessant. Im Vergleich zu Karls Vorschlag lässt du weg:
Compose, Enter, Esc, 2xMod4, Lock bzw. Del, RAlt, Tab, Rücktaste.
Dafür kommen F1 bis F4 hinzu.

Nunja; viele dieser Tasten sind – zugegeben – auf der Fn-Ebene nochmal
vorhanden. Aber ich würde sie auch gerne auf der ersten sehen,
insbesondere, wenn sie dann ergonomisch auf den Daumen liegen.
Mod4 kann man eigentlich nicht weglassen, weil sonst nur noch 4 Ebenen
zur Verfügung stehen. Griechisch wäre dann nicht möglich. Unten schlägst
du eine Lösung dafür vor aber ich bin skeptisch, dass man Fn und Mod4
auf der Taste lassen kann.

Und ich bin sowieso dagegen, dass wir zwei verschiedene Möglichkeiten
(Mod4 und Fn) einbauen, wie man fehlende Tasten ersetzen kann. Meiner
Meinung nach sollte sich da eher das Standardtastatur-Neo3 entsprechend
anpassen und eine Fn-Taste in Software emulieren. Treibermäßig ist das
kein Problem, xkb sieht eine solche Funktion jedenfalls ausdrücklich
vor, und im NeoVars haben wir ohnehin die ultimative Kontrolle.

Das Ziel ist ja eigentlich nicht, so wenige Tasten wie möglich zu
verwenden, sondern, dass möglichst alle ergonomisch erreichbar sind. Das
leistet Karls Vorschlag eigentlich recht gut, auch wenn man da teilweise
diskutieren kann (Innentasten, entfernte Daumentasten). Müssen wir halt
ausprobieren.

 Allerdings benötigt dieser Vorschlag mehr als einen Standard-Encoder.
 Die Tastatur soll bei betätigter Mod4 nämlich dann den Scancode von
 Enter statt Mod4+P senden. Damit wäre auch das Bios bedienbar. Ein
 Anpassen des Neo-Treibers wäre auch nicht notwendig, da eine
 Standardtastatur über die Firmware emuliert werden soll.
Das sollte Karls Tastatur ja eigentlich auch? Bin mir gerade über die
nötige Hardware nicht im klaren. Aber ohne das kommt man eigentlich gar
nicht aus, da man im BIOS ohne Neo-Treiber auch einige Tasten benötigt,
die wir auf der Mod4-Ebene haben und keineswegs als extra Tasten wollen.
Die Pfeiltasten z.B.

 Bei der Funktion der Mod4 / Fn Taste habe ich in deiner Mail
 (hmk5qp$6f...@dough.gmane.org) gewildert (Mod4 drücken + loslassen =
 Fn). Wahrscheinlich ist das gewöhnungsbedürftig.
Nun ja. Kann man sowas einem Controller beibringen?

  Beim Layout sollte man dann aber auf ein Notebook-Fn verzichten und
  gleich alle Tasten, die nicht auf der ersten Ebene sind, in eine
  zusammengelegte Fn/4. Ebene packen. Funktionstasten in die Ziffernreihe,
  Navigation und Nummernblock ähnlich wie die Neo2-Ebene 4. Sonst wären
  mir das alles zuviele Modi: Fn, Num, Mod4… das sollte alles vereinigt
  werden. Finde ich.
  Der Vorschlag ist eine genauere Überlegung wert. Ich befürchte, dass über 
  die
  für die Ebene4 notwendigen Tasten hinaus so viele Tasten erforderlich 
  werden,
  dass insgesamt nicht genug Tasten vorhanden sind. Sollte das der Fall sein, 
  dann
  liegt nahe, einige Tasten wie PrtSc, ScrlLk, Pause, Num, cut, copy, paste, 
  redo,
  Power, Sleep, Wake, rGUI (=rWin) und Caps auf eine Fn-Ebene auszulagern.
 
 Ich finde auch, dass das den Zeichenumfang sehr einschränkt . Es fehlt
 ja schon der Nummernblock (zumindest dessen höhere Ebenen).

Ähm? Ich verstehe nicht, was du hier meinst.

 Die Tasten Redo, Power, Sleep und Wake kenne ich nicht. Sind die auf
 der Standardtastatur?
Quasi. Das sind genormte Tasten für die Steuerung des ACPI. Damit
schaltest du den Computer ab, legst ihn schlafen und weckst ihn wieder
auf. Die müssen im BIOS unterstützt werden. Und funktionieren in meinem
Linux nicht *grummel*.

  Beim Booten wird Del bisweilen auf der ersten Ebene benötigt. Zudem sollte 
  die
  Tastenkombination Ctrl+Alt+Del ohne eine weitere (Fn-) Taste gedrückt werden
  können. Evtl. kann für diese besonderen Zwecke eine Del-Taste als 
  Mikrotaster
  eingebaut werden.
 
 Das stimmt. Dafür wären 4 Tasten zu drücken. Aber: Ich benutzte diese
 Kombination so gut wie nie (Linux, ;-)) und außerdem wird einiges andere
 auch komplizierter. Am ehesten dann ein Mikrotaster. Aber das gefällt
 mir auch nicht wirklich. Dass beim Booten Entf auf der ersten Ebene
 gebraucht wird sehe ich nicht.

Kommt bei mir z.B. vor, wenn ich von der CD booten will, aber vergessen
habe, beim Booten F11 zu drücken (da öffnet mein BIOS ein Bootmenü, in
dem ich zwischen den Festplatten und CD-Laufwerke auswählen kann). Das
Laufwerk hab ich nämlich nicht in meiner normalen Bootreihenfolge drin.
Ja, häufig braucht man es nicht, aber wenn, dann würde man es auch
vermissen ;-).

 Ich finde eine weitere Taste unnötig für diesen Zweck. Warum nicht
 Mod4R+Mod4L = Mod4-Lock; ShiftR+ShiftL = Capslock?

Das ist schon OK, aber aus zwei Gründen mag ich diese Lösung nicht:

• Der Tasten-loslass-Code ist anders als der Tasten-drück-Code. 

Re: [Neo] Hardware: Anzahl der Tasten

2010-05-14 Diskussionsfäden Michael Ostermeier

Hallo Karl,

vielen Dank für deine Antwort.

Am 13.05.2010 schrieb neo-n...@…:

Die Minimierung der Tastenzahl stellt meiner Meinung nach nur ein Teil des
anzustrebenden Ziels dar. Lieber möchte ich die Anzahl der Tasten maximieren,
wobei auf die hinreichend gute Erreichbarkeit der Tastenanordnung aus der
Grundstellung heraus geachtet wird. Daraus ergibt sich die Anzahl der Tasten
von selbst. Ein paar Tasten am Rand sollen dahingehend als gerade noch
vertretbar gelten - auch zwei Daumentasten -, um sie mit selteneren Zeichen
oder Funktionen zu belegen.


Erreichbar sind sie sicher alle gut. Aber brauchen wir sie?

Ich habe die Standardtastatur genommen, den Nummernblock abgezogen,
dann die Ebene4. Somit waren alle Doppelbelegungen weg. Effektiv fehlt
nur das KP-Enter, Num-Lock und die höheren Ebenen des Ziffernblock.
Davon vermisse ich nichts bis auf ein paar Zeichen vom Nummernblock,
die mit dem modularen Ebenenkonzept von Neo 3 hoffentlich auf das
Hauptfeld zu holen sind. Mit Zusatznumblock wäre alles wieder da.
Anschließend habe ich 13, aus meiner Sicht selten benutzte, Tasten auf
eine Fn-Ebene ausgelagert.

Will man mehr Tasten belegen, so muss man:
 a) Irgedwas wieder doppelt haben, oder
 b) Ziffernblocktasten richtung Hauptfeld verschieben, oder
 c) Irgendwas wieder von der Fn-Ebene holen, oder
 d) Andere Scancodes senden (Multimediatasten, eigene erfinden, …)
Was schlägst Du vor?


Allerdings benötigt dieser Vorschlag mehr als einen Standard-Encoder.


Vorgesehen ist der selber programmierbare Encoder
SK5101 von Sprintek (3 Stück bekam ich zugesandt):
http://www.sprintek.com/products/SK5100.aspx


Den hast Du ja schon mal vorgestellt. Dazu wollte ich aber erst viel
später was schreiben, aber wenn Du damit anfängst…

Der wäre sehr einfach einzusetzen und benötigt wenig
Softwareentwicklung.

Wo kriegt man den her, was kostet er, ist er flexibel genug, kannst Du
QFN mit der Hand löten? Hast du die Samples direkt vom Hersteller oder
von einem Distributor? Bei Farnell, Digi-Key, Arrow, Bürklin und
Schuricht habe ich ihn leider nicht finden können.

Für meinen Gegenvorschlag habe ich allerdings noch nichts passendes
gefunden. Mein Wunsch wäre ein Standard 8 bit μC mit USB-Interface in
LQFP-32:
 + sehr wahrscheinlich billiger
 + leichter zu löten
 + flexibler einsetzbar (falls der Flash groß genug ist)
 + nicht auf Software des Herstellers angewiesen
 - erheblicher Programmieraufwand
 - habe noch keinen passenden μC gefunden

Vielleicht ist der MC68HC908JB8 was für den Fall. Den gibts als SOIC-28
für 1,82 € ab 10 Stück bei Farnell. Laut Datenblatt¹ kann er an den
USB-Pins auch genügend Strom für PS/2. ABER der hat nur 8 kB Flash
(reicht das?), kein EEPROM und ist noch kein „modernerer“ HCS08.

Es gibt aber auch Projekte, die μCs ohne USB-Interface für
USB-Tastaturen nutzen². Da weiß ich allerdings nicht, ob die Lizenz für
uns passt. In diesem Fall wäre der μC eventuell noch günstiger. Dies
erfordert allerdings etwas Schaltungstechnik.

Bei der Programmierung der Firmware könnte vielleicht die libusb³
nützlich sein.

Am schlimmsten dürfte hier die Tatsache sein, dass ich zwar weiß, was
ich in der Firmware drinhaben will, dass ich aber zum Programmieren zu
doof bin.

Meine Firmwareidee:
 • Firmware erkennt automatisch, ob USB oder PS/2 gesprochen wird.
 • Im EEPROM benutzerdefinierte Tastenbelegungen ablegbar.


Ich habe in dem Vorschlag die Tasten F1 … F4 als Hardware eingeplant.


Dazu wäre die F4-Position an einer zu schlecht greifbaren Stelle platziert.
Hingegen ist für den rechten Zeigefinger an der vermutlich gerade  
noch gut genug

vertretbaren Stelle zwischen den LEDs namens Mod4 und Fn keine Taste
vorgesehen. Dann lieber zwei Funktionstasten auf die andere Hand legen und
zwei LEDs in dem Bereich anordnen, wo F4 vorgeschlagen ist.


Guter Vorschlag, danke. also F1 und F2 links, rechts F3 und F4.
Allerdings würde ich die LEDs dann rechts lassen, weil wir sonst
wahrscheinlich mehr als 12 Adern im Verbindungskabel der beiden
Tastaturhälften brauchen.


Bei der Funktion der Mod4 / Fn Taste habe ich in deiner Mail
(hmk5qp$6fu$1 at dough.gmane.org) gewildert (Mod4 drücken + loslassen =
Fn). Wahrscheinlich ist das gewöhnungsbedürftig.


Wenn ich mich richtig erinnere, wurde die Idee gut begründet  
abgelehnt, weswegen

lieber andere Möglichkeiten bedacht werden sollten.


Ich glaube, die Einwände bezogen sich auf die vorhergehenden Mails mit
komplizierteren Konzepten. Aber eine separate Fn-Taste ist bestimmt
auch nicht das schlechteste. Damit fällt dann auch die Fn-LED weg.
Also: an jedem Daumen eine? Oder deine Kleinfingerspreiz-Tasten?


Die Tastatur soll bei betätigter Mod4 nämlich dann den Scancode von
Enter statt Mod4+P senden. Damit wäre auch das Bios bedienbar.

…

 Beim Booten wird Del bisweilen auf der ersten Ebene benötigt. Zudem sollte
 die Tastenkombination Ctrl+Alt+Del ohne eine weitere (Fn-) Taste gedrückt
 werden können. Evtl. kann für diese besonderen Zwecke eine Del-Taste als
 

Re: [Neo] Hardware: Anzahl der Tasten

2010-05-14 Diskussionsfäden Karl Köckemann
Michael Ostermeier writes:
 Am 13.05.2010 schrieb neo-n...@…:
 Die Minimierung der Tastenzahl stellt meiner Meinung nach nur ein Teil des
 anzustrebenden Ziels dar. Lieber möchte ich die Anzahl der Tasten maximieren,
 wobei auf die hinreichend gute Erreichbarkeit der Tastenanordnung aus der
 Grundstellung heraus geachtet wird. Daraus ergibt sich die Anzahl der Tasten
 von selbst. Ein paar Tasten am Rand sollen dahingehend als gerade noch
 vertretbar gelten - auch zwei Daumentasten -, um sie mit selteneren Zeichen
 oder Funktionen zu belegen.
 
 Erreichbar sind sie sicher alle gut. Aber brauchen wir sie?

Ja. Wo Tasten nicht für Funktionen gebraucht werden, ist es immer wünschenswert,
mehr Zeichen auf vertretbar gut erreichbaren Positionen zu haben.

 Will man mehr Tasten belegen, so muss man:
   a) Irgedwas wieder doppelt haben, oder
   b) Ziffernblocktasten richtung Hauptfeld verschieben, oder
   c) Irgendwas wieder von der Fn-Ebene holen, oder
   d) Andere Scancodes senden (Multimediatasten, eigene erfinden, …)
 Was schlägst Du vor?

e) mehr Zeichen pro Ebene.
Wo Redundanz sinnvoll ist, durchaus auch a).

 Allerdings benötigt dieser Vorschlag mehr als einen Standard-Encoder.

 Vorgesehen ist der selber programmierbare Encoder
 SK5101 von Sprintek (3 Stück bekam ich zugesandt):
 http://www.sprintek.com/products/SK5100.aspx
 
 Den hast Du ja schon mal vorgestellt. Dazu wollte ich aber erst viel
 später was schreiben, aber wenn Du damit anfängst…
 
 Der wäre sehr einfach einzusetzen und benötigt wenig
 Softwareentwicklung.
 
 Wo kriegt man den her, was kostet er, ist er flexibel genug, kannst Du
 QFN mit der Hand löten? Hast du die Samples direkt vom Hersteller?

Der Keyboard Encoder SK5101 ist direkt beim Hersteller erhältlich.
Die Preise für Muster stehen auf der Internetseite:
http://www.sprintek.com/order/OrderICs.aspx
Der Hersteller zeigt sich auch bei sehr geringen Stückzahlen entgegenkommend.
Drei Muster hat der Hersteller mir kostenlos zugesandt.

Noch habe ich mich nicht im Detail mit dem SK5101 befasst, weswegen ich nicht
abschätzen kann, ob der Chip flexibel genug ist.

Mit der entsprechenden Ausrüstung (SMD-Technologie) sollten die ICs sich von
Hand löten lassen.

 Bei Farnell, Digi-Key, Arrow, Bürklin und Schuricht habe ich ihn leider nicht
 finden können.

Sprintek hat in Deutschland keinen Distributor. Bei diesem Hersteller ist es in
dem Fall tatsächlich üblich, auch Kleinstmengen direkt bei ihm zu bestellen.

 Für meinen Gegenvorschlag habe ich allerdings noch nichts passendes
 gefunden. Mein Wunsch wäre ein Standard 8 bit μC mit USB-Interface in
 LQFP-32

Nach meinen Recherchen soll das Programmieren von Mikrocontrollern (µC) für
USB-Zwecke selbst für erfahrene Kenner eine komplizierte Angelegenheit sein.
Ferner sieht USB standardmäßig bis zu 6 gleichzeitig gedrückte Tasten vor,
weswegen echtes n-key-rollover angeblich nur über Umwege realisierbar sein soll.

Der Einfachheit halber sehe ich vorerst nur PS/2 vor. Zwar bietet der SK5101
sowohl PS/2 als auch USB, jedoch scheint mir der SK5101 weniger für die
endgülige Hardware, als vielmehr für den Prototypenbau für unsere Zwecke gut
geeignet zu sein.
Wenn nach vielen praktischen Tests durch verschiedene Freiwillige klar ist, was
der Keyboard Encoder im Detail macht, halte ich es für sinnvoll, die Funktionen
auf einem preisgünstigen µC umzusetzen. Das hält sowohl den Entwicklunsaufwand
als auch die Kosten gering.

 Vielleicht ist der MC68HC908JB8 was für den Fall. Den gibts als SOIC-28
 für 1,82 € ab 10 Stück bei Farnell. Laut Datenblatt¹ kann er an den
 USB-Pins auch genügend Strom für PS/2. ABER der hat nur 8 kB Flash
 (reicht das?), kein EEPROM und ist noch kein „modernerer“ HCS08.
 
 Es gibt aber auch Projekte, die μCs ohne USB-Interface für
 USB-Tastaturen nutzen². Da weiß ich allerdings nicht, ob die Lizenz für
 uns passt. In diesem Fall wäre der μC eventuell noch günstiger. Dies
 erfordert allerdings etwas Schaltungstechnik.
 
 Bei der Programmierung der Firmware könnte vielleicht die libusb³
 nützlich sein.
 
 Am schlimmsten dürfte hier die Tatsache sein, dass ich zwar weiß, was
 ich in der Firmware drinhaben will, dass ich aber zum Programmieren zu
 doof bin.

So weitgehend habe ich mich mit der Hardwareentwicklung noch nicht befasst.
Mir geht es derzeit darum, zunächst einen Prototyp in Händen zu halten, der
nicht alle Neo2-Möglichkeiten bietet (weder Nummernblock noch funktionierende
Fn-Tasten), aber geeignet sein soll, erste Eindrücke von mehreren Freiwilligen
zu gewinnen, mit dem Ziel, einen Konsens für die Tastenanordnung (noch nicht
deren Belegung) zu finden. Deshalb nehme ich erst mal einen Standard-Keyboard-
Encoder, später den einfach zu handhabbaren SK5101 und wenn es um die Umsetzung
für die Produktion geht, dann einen preisgünstigen µC. Alles zu seiner Zeit.

 Meine Firmwareidee:
   • Firmware erkennt automatisch, ob USB oder PS/2 gesprochen wird.
   • Im EEPROM benutzerdefinierte Tastenbelegungen ablegbar.

Hoffentlich 

[Neo] Hardware: Anzahl der Tasten (was: Re: Neo-Hardware-Entwicklung)

2010-05-13 Diskussionsfäden Michael Ostermeier
Hallo,

 Peter Eberhard schrie am 06.03.2010 um 07:24:14 Uhr:
:-)

 http://www.abload.de/img/20100305-neohardwareenopkn.png
 Gerade baue ich einen Prototypen (basierend auf dem obigen Hardwareentwurf).
 Dieser erste Prototyp soll mit MX-Tastenmodulen mit ergonomischer
 Betätigungscharakteristik, unterschiedlich hohen Tastenkappen in Qwertz-
 Belegung, sowie einem nicht programmierbaren Keyboard Encoder mit PS/2-Stecker
 aus einer ausgedienten Tastatur ausgestattet werden.
 Folglich werden nicht alle Neo2-Möglichkeiten funktionieren. Zum Erfassen von
 ersten Eindrücken genügt der erste Prototyp allemal. Mit ihm soll die 
 Anordnung
 (nicht die Belegung) der Daumentasten optimiert werden.

Vielleicht willst Du Dir mal meine Überlegung zur Anzahl der Tasten
ansehen. Ich komme mit weniger Tasten aus als Du (5 pro Daumen).
Ein Vergleich zwischen Standard und meinem Vorschlag ist:
http://miche.host4free.de/vgl.png.

Ich finde, mein Vorschlag ersetzt (bis auf den Nummernblock) die
komplette Standardtastatur. Mit nur 61 Tasten. Ich hoffe, es geht
niemandem was ab. Mein Ziel war, möglichst wenige Tasten zu verwenden.

Allerdings benötigt dieser Vorschlag mehr als einen Standard-Encoder.
Die Tastatur soll bei betätigter Mod4 nämlich dann den Scancode von
Enter statt Mod4+P senden. Damit wäre auch das Bios bedienbar. Ein
Anpassen des Neo-Treibers wäre auch nicht notwendig, da eine
Standardtastatur über die Firmware emuliert werden soll.

Ich habe in dem Vorschlag die Tasten F1 … F4 als Hardware eingeplant.
Und zwar, weil …
Ich habe keine gute Erklärung. Außer vielleicht, dass die Fn-Ebene dann
auf Buchstabentasten ausgeweitet werden müsste. Ich weiß nicht, ob das
dann bei Magic-SysRq¹ Probleme geben könnte. Vielleicht sollte man sie
weglassen und ebenfalls über Fn abhandeln, zumal Enter, Pfeiltasten …
auch nicht auf Ebene1 verfügbar, aber viel häufiger sind. Auch wenn ich
ständig Strg+F1–F4 zum umschalten der Arbeitsflächen benutze.

Bei der Funktion der Mod4 / Fn Taste habe ich in deiner Mail
(hmk5qp$6f...@dough.gmane.org) gewildert (Mod4 drücken + loslassen =
Fn). Wahrscheinlich ist das gewöhnungsbedürftig.

 Beim Layout sollte man dann aber auf ein Notebook-Fn verzichten und
 gleich alle Tasten, die nicht auf der ersten Ebene sind, in eine
 zusammengelegte Fn/4. Ebene packen. Funktionstasten in die Ziffernreihe,
 Navigation und Nummernblock ähnlich wie die Neo2-Ebene 4. Sonst wären
 mir das alles zuviele Modi: Fn, Num, Mod4… das sollte alles vereinigt
 werden. Finde ich.
 Der Vorschlag ist eine genauere Überlegung wert. Ich befürchte, dass über die
 für die Ebene4 notwendigen Tasten hinaus so viele Tasten erforderlich werden,
 dass insgesamt nicht genug Tasten vorhanden sind. Sollte das der Fall sein, 
 dann
 liegt nahe, einige Tasten wie PrtSc, ScrlLk, Pause, Num, cut, copy, paste, 
 redo,
 Power, Sleep, Wake, rGUI (=rWin) und Caps auf eine Fn-Ebene auszulagern.

Ich finde auch, dass das den Zeichenumfang sehr einschränkt . Es fehlt
ja schon der Nummernblock (zumindest dessen höhere Ebenen).

Die Tasten Redo, Power, Sleep und Wake kenne ich nicht. Sind die auf
der Standardtastatur?

 Beim Booten wird Del bisweilen auf der ersten Ebene benötigt. Zudem sollte die
 Tastenkombination Ctrl+Alt+Del ohne eine weitere (Fn-) Taste gedrückt werden
 können. Evtl. kann für diese besonderen Zwecke eine Del-Taste als Mikrotaster
 eingebaut werden.

Das stimmt. Dafür wären 4 Tasten zu drücken. Aber: Ich benutzte diese
Kombination so gut wie nie (Linux, ;-)) und außerdem wird einiges andere
auch komplizierter. Am ehesten dann ein Mikrotaster. Aber das gefällt
mir auch nicht wirklich. Dass beim Booten Entf auf der ersten Ebene
gebraucht wird sehe ich nicht.

  Dafür lieber ein ISO-Lock dahin, wo jetzt Ins steht – alleine gedrückt
  ist es ein Caps Lock, mit einem Mod zusammen stellt es diesen Mod fest.
 Dein Vorschlag gefällt mir gut. ISO-Lock kannte ich nocht nicht - glaube ich.
 Wenn ich das richtig auffasse, müsste bei der Tastenkombination zuerst die
 jeweilige Mod-Taste und dann die ISO-Lock-Taste betätigt werden. Logischer
 erscheint mir anstelle von ISOLk allein gedrückt lieber Shft+ISOLk zu
 betätigen. Dann könnte die ISO-Lock-Taste auf der ersten Ebene mit Delete 
 belegt
 werden:
 Del | Shft+ISOLk | M3+ISOLk | M4+ISOLk | Shft+M3+ISOLk | M3+M4+ISOLk

Ich finde eine weitere Taste unnötig für diesen Zweck. Warum nicht
Mod4R+Mod4L = Mod4-Lock; ShiftR+ShiftL = Capslock?
 
 Aber im Prinzip ist die Belegung sowieso noch ein anderes Thema.

Genau, aber um meinen Vorschlag besser zu verdeutlichen habe ich eine
Mögliche Neo 2 Belegung online:
http://miche.host4free.de/mok.pdf

 Nachgezählt habe ich die sich ergebende Tastenanzahl jetzt nicht. Für den
 Prototypen muss irgendeine Belegung her, mit der man möglichst ohne
 Treiberanpassung zumindest tippen kann, die auch die Daumentasten einbeziehen.

Bei Dir sinds 66, bei mir 61, wenn man F1–4 weglässt 57. Das mit dem
Prototypen stimmt allerdings, da mein Vorschlag nur mit noch zu

Re: [Neo] [NEO] Hardware: Anzahl der Tasten (was: Re: Neo-Hardware-Entwicklung)

2010-05-13 Diskussionsfäden neo-nntp
Hallo Miche,

vielen Dank für Deinen Vorschlag!

Michael Ostermeier writes:

  Peter Eberhard schrieb am 06.03.2010 um 07:24:14 Uhr:
 
  http://www.abload.de/img/20100305-neohardwareenopkn.png
  Gerade baue ich einen Prototypen (basierend auf dem obigen Hardwareentwurf).
  Dieser erste Prototyp soll mit MX-Tastenmodulen mit ergonomischer
  Betätigungscharakteristik, unterschiedlich hohen Tastenkappen in Qwertz-
  Belegung, sowie einem nicht programmierbaren Keyboard Encoder mit
  PS/2-Stecker aus einer ausgedienten Tastatur ausgestattet werden.
  Folglich werden nicht alle Neo2-Möglichkeiten funktionieren. Zum Erfassen
  von ersten Eindrücken genügt der erste Prototyp allemal. Mit ihm soll die 
  Anordnung (nicht die Belegung) der Daumentasten optimiert werden.
 
 Vielleicht willst Du Dir mal meine Überlegung zur Anzahl der Tasten
 ansehen. Ich komme mit weniger Tasten aus als Du (5 pro Daumen).
 Ein Vergleich zwischen Standard und meinem Vorschlag ist:
 http://miche.host4free.de/vgl.png.
 
 Ich finde, mein Vorschlag ersetzt (bis auf den Nummernblock) die
 komplette Standardtastatur. Mit nur 61 Tasten. Ich hoffe, es geht
 niemandem was ab. Mein Ziel war, möglichst wenige Tasten zu verwenden.

Die Minimierung der Tastenzahl stellt meiner Meinung nach nur ein Teil des
anzustrebenden Ziels dar. Lieber möchte ich die Anzahl der Tasten maximieren,
wobei auf die hinreichend gute Erreichbarkeit der Tastenanordnung aus der
Grundstellung heraus geachtet wird. Daraus ergibt sich die Anzahl der Tasten
von selbst. Ein paar Tasten am Rand sollen dahingehend als gerade noch
vertretbar gelten - auch zwei Daumentasten -, um sie mit selteneren Zeichen
oder Funktionen zu belegen.
Um herauszufinden, welche Tastenanordnungen einen Konsens finden, soll der
von mehreren Personen ausprobiert und bewertet werden, was gut ist und was
verbessert werden soll. Ich halte es sinnvoller, mehrere Meinungen zu einem
Prototypen zu erhalten, als viele Einzelmeinugen zu verschiedenen Prototypen
- schließlich wird eine Hardware als Ergebnis angestrebt, nicht mehrere.

 Allerdings benötigt dieser Vorschlag mehr als einen Standard-Encoder.

Der Standard-Encoder wird nur so lange eingebaut, bis eine endgültige
Tastenanordnung geklärt bzw. entschieden ist. Dazu bedarf es anfangs noch
keinen selber umprogrammierbaren Encoder. Jede Tastatur, die mit deutlich
weniger als 105 Tasten auskommt, kann letztendlich nicht mit einem Standard-
Encoder in vollem Umfang betrieben werden.
Vorgesehen ist der selber programmierbare Encoder
SK5101 von Sprintek (3 Stück bekam ich zugesandt):
http://www.sprintek.com/products/SK5100.aspx
Zu einem späteren Zeitpunkt möchte ich mich damit befassen.

 Die Tastatur soll bei betätigter Mod4 nämlich dann den Scancode von
 Enter statt Mod4+P senden. Damit wäre auch das Bios bedienbar. Ein
 Anpassen des Neo-Treibers wäre auch nicht notwendig, da eine
 Standardtastatur über die Firmware emuliert werden soll.

So in etwa sehe ich es ebenfalls vor.

 Ich habe in dem Vorschlag die Tasten F1 … F4 als Hardware eingeplant.
 Und zwar, weil …
 Ich habe keine gute Erklärung. Außer vielleicht, dass die Fn-Ebene dann
 auf Buchstabentasten ausgeweitet werden müsste.

Dazu wäre die F4-Position an einer zu schlecht greifbaren Stelle platziert.
Hingegen ist für den rechten Zeigefinger an der vermutlich gerade noch gut genug
vertretbaren Stelle zwischen den LEDs namens Mod4 und Fn keine Taste
vorgesehen. Dann lieber zwei Funktionstasten auf die andere Hand legen und
zwei LEDs in dem Bereich anordnen, wo F4 vorgeschlagen ist.

 Ich weiß nicht, ob das
 dann bei Magic-SysRq¹ Probleme geben könnte. Vielleicht sollte man sie
 weglassen und ebenfalls über Fn abhandeln, zumal Enter, Pfeiltasten …
 auch nicht auf Ebene1 verfügbar, aber viel häufiger sind. Auch wenn ich
 ständig Strg+F1–F4 zum umschalten der Arbeitsflächen benutze.

Ausprobieren ... ;)

 Bei der Funktion der Mod4 / Fn Taste habe ich in deiner Mail
 (hmk5qp$6fu$1 at dough.gmane.org) gewildert (Mod4 drücken + loslassen =
 Fn). Wahrscheinlich ist das gewöhnungsbedürftig.

Wenn ich mich richtig erinnere, wurde die Idee gut begründet abgelehnt, weswegen
lieber andere Möglichkeiten bedacht werden sollten.

 Die Tasten Redo, Power, Sleep und Wake kenne ich nicht. Sind die auf
 der Standardtastatur?

Power, Sleep und Wake waren eine Zeit lang in Mode, um den Rechner ein- und
auszuschalten bzw. in in einen Energiesparmodus zu versetzen.
Sofern ich mich nicht irre, bietet der Keyboard Encoder SK5101 von Sprintek
Scancodes für Tasten wie cut, copy, paste, undo, redo, etc. Auch Makros, d. h.
die Folge mehrer Tasten hintereinander können mit dem Encoder auf eine Taste
gelegt werden.

  Beim Booten wird Del bisweilen auf der ersten Ebene benötigt. Zudem sollte
  die Tastenkombination Ctrl+Alt+Del ohne eine weitere (Fn-) Taste gedrückt
  werden können. Evtl. kann für diese besonderen Zwecke eine Del-Taste als
  Mikrotaster eingebaut werden.
 
 Dass beim Booten Entf auf der ersten Ebene gebraucht