Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.javascript > #5446

Re: Key-Events - Umgang mit inkonsistenter Ausgabe bei code/key ?

From Janis Papanagnou <janis_papanagnou+ng@hotmail.com>
Newsgroups de.comp.lang.javascript
Subject Re: Key-Events - Umgang mit inkonsistenter Ausgabe bei code/key ?
Date 2023-10-30 17:28 +0100
Organization A noiseless patient Spider
Message-ID <uholja$hg90$1@dont-email.me> (permalink)
References <uhof7u$g9ot$1@dont-email.me> <key-20231030161919@ram.dialup.fu-berlin.de>

Show all headers | View raw


On 30.10.2023 16:19, Stefan Ram wrote:
> Janis Papanagnou <janis_papanagnou+ng@hotmail.com> writes:
>> alert("Code: '"+code+"'   Key: '"+key+"'");
> ...
>> Code: 'Semicolon'   Key: 'ö'
>> Ich erhalte _dieselbe_ Ausgabe
>> + bei deutscher Tastatur beim Tippen von 'ö'
>> + bei amerikanischer Tastatur bei Tippen von ';'

Vielen Dank für die schnelle Antwort!

>   "code" ignoriert laut MDN die Lokalisierung und verwendet
>   immer die US-Anordnung. Das heißt rechts von der Taste [T]
>   ist immer [Y]. Das [ö] auf der deutschen Tastatur ist dort,
>   wo bei der US-Tastatur das ";" ist. Also ist "code" dort ";".

Okay, für die DE Tastatur erhalte ich   Code: 'KeyY'   Key: 'z' .
Verstehe, das ist also spezifikationsgemäß.

(Ich frage mich nur, wie die (104 Keys?) US-Spezfikation dann den
105-ten Key einer deutschen Tastatur abbildet. Aber erstmal egal.)

> 
>   "key" ergibt den Wert der Taste gemäß der lokalisierten
>   Einstellungen für die Anordnung. Wenn man bei einer deutschen
>   Anordnung [ö] tippt sollte dies "ö" sein. Wenn man bei einer
>   amerikanischen Tastatur [;] tippt, sollte dies ";" sein.
> 
>   Das heißt, das einzige, was bei Dir nicht spezifikationsgemäß
>   ist, wäre daß bei Dir bei einer amerikanischen Tastatur "key"
>   gleich "ö" ist, wenn Du dort [;] drückst. Hier würde ich erst
>   einmal noch auf anderem Wege prüfen, ob es sich wirklich um
>   eine US-Anordnung handelt.

Ich habe zwei Tastaturen parallel an meinem System verwendbar,
eine US amerikanische mit standard US-Layout (104 keys) und
eine typische (moderne) deutsche (105 keys); also zwei Devices.
Mein System kann beide parallel verwenden, ich kann hier wie
dort, auch immer abwechelnd, Zeichen eingeben. Alle Zeichen,
gleich von welcher Tastatur, werden normalerweise immer korrekt
nach Layout übertragen. - Allerdings stelle ich gerade fest,
dass nach einer Rekonfiguration des Systems dieses nun bessere
Ergebnisse erzeugt, mit diesem (leicht veränderten, insgesamt
stimmigeren) Ergebnis...

> JavaScript sollte dort normalerweise
>   "Code: 'Semicolon'   Key: ';'" ausgeben.

  DE  ö        Code: 'Semicolon'   Key: 'ö'
  US  ;        Code: 'Semicolon'   Key: ';'
  DE  ;        Code: 'Comma'   Key: ';'

D.h. der "Code" (nach Spec) konsistent - da "DE ;" mit "Shift-,"
erzeugt wird, daher "Comma" - und die Werte der Keys sind dann
zumindest konsistent und bilden die darstellbaren Zeichen ab.

Und für die Behandlung der Sondertasten verwende ich dann am
besten ebenfalls den "Key" (und nicht den "Code"). Denn ich muss
nicht umbedingt (z.B.) Ctrl-Left von Ctrl-Right unterscheiden,
es reicht zu wissen, dass es "Control" ist.

Nochmals vielen Dank; ich habe jetzt Gewissheit, wie es "tickt".

Janis

Back to de.comp.lang.javascript | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Key-Events - Umgang mit inkonsistenter Ausgabe bei code/key ? Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2023-10-30 15:39 +0100
  Re: Key-Events - Umgang mit inkonsistenter Ausgabe bei code/key ? Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2023-10-30 17:28 +0100
    Re: Key-Events - Umgang mit inkonsistenter Ausgabe bei code/key ? "Peter J. Holzer" <hjp-usenet3@hjp.at> - 2023-10-30 18:57 +0100

csiph-web