Π§ΡΠΎΠ±Ρ Π²Π²Π΅ΡΡΠΈ ~
Π½Π° ΡΠΈΠ½ΡΠΊΠΎΠΉ / ΡΠ²Π΅Π΄ΡΠΊΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ΅, ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΆΠ°ΡΡ Π³ΠΎΡΡΡΡΡ ΠΊΠ»Π°Π²ΠΈΡΡ alt+^
:
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΎΠ½ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΡΠΎ-ΡΠΎ ΠΏΠΎΡ
ΠΎΠΆΠ΅Π΅ Π½Π° ~
Π½ΠΎ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ Π½Π°ΠΆΠΈΠΌΠ°Ρ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΈΠΌΠ²ΠΎΠ» (ΠΊΡΠΎΠΌΠ΅ Enter), ΠΎΠ½ ΡΡΠΈΡΠ°Π΅Ρ ΡΠΈΠΌΠ²ΠΎΠ» Β«pre-tildeΒ». ΠΠ°ΠΆΠΌΠΈΡΠ΅ Enter
"ΠΠΎΠ½Π²Π΅ΡΡΠΈΡΡΠ΅Ρ" Π² Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΉ ~ ΠΈ Π½ΠΈΡΠ΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ (Π±Π΅Π· ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Enter).
Π― ΠΏΡΠΎΠ²Π΅ΡΠΈΠ», ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ vanilla JS, ΠΈ ΠΌΠ½Π΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ Π½Π° ΡΡΠΎΠ²Π½Π΅ Π±ΡΠ°ΡΠ·Π΅ΡΠ° ΡΡΠΎ-ΡΠΎ Π½Π΅ ΡΠ°ΠΊ:
ΠΡΠΎ ΠΏΠΎΠΏΡΠ°Π²ΠΈΠΌΠΎ? Wdyt?
https://github.com/xtermjs/xterm.js/issues/174
Chrome (latest)
MacOS X (latest)
3.14.0
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΠΊΠΎΠ΄ΠΎΠΌ VS: https://github.com/microsoft/vscode/issues/68262
@Tyriar, ΠΊΠ°ΠΊ xterm
ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ vscode
?
vscode ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ xterm, ΠΎΠ± ΡΡΠΎΠΌ ΡΠΎΠΎΠ±ΡΠ°Π»ΠΎΡΡ ΡΠ°ΠΌ.
Π£ Terminus ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°: https://github.com/Eugeny/terminus/issues/768
ΠΡΠΎ Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠΊΠ°Π½Π΄ΠΈΠ½Π°Π²ΡΠΊΠΈΠΌΠΈ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ°ΠΌΠΈ. ΠΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, ΡΡΠ°Π½ΡΡΠ·ΡΠΊΠΈΠΉ ΠΈ ΠΈΡΠΏΠ°Π½ΡΠΊΠΈΠΉ ΡΠ·ΡΠΊΠΈ ΡΠΎΠΆΠ΅ Π·Π°ΡΡΠΎΠ½ΡΡΡ (Ρ ΠΏΠΎΠ»Π°Π³Π°Ρ, Π»ΡΠ±ΠΎΠΉ ΠΌΠ°ΠΊΠ΅Ρ Ρ ΠΊΠ»Π°Π²ΠΈΡΠ΅ΠΉ AltGr ΠΈ Π΄Π²ΡΡ
ΡΡΡΠΏΠ΅Π½ΡΠ°ΡΠΎΠΉ ββΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ Π°ΠΊΡΠ΅Π½ΡΠΎΠ²).
ΠΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΉΠΌΠ°ΡΡ ~
Ρ ΠΏΠΎΠΌΠΎΡΡΡ InputEvent
:
Π― Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½, ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ Π»ΠΈ ΡΡΠΎ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ, Π΅ΡΠ»ΠΈ InputEvent
ΡΡΡΡΠ°Π½ΡΠ΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΏΠΎΡ
ΠΎΠΆΠ΅, ΡΡΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ° ΠΆΠ΅ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΠΏΡΠΈΡΠΈΠ½Π°, ΡΡΠΎ ΠΈ https://github.com/xtermjs/xterm.js/issues/469, ΠΈ Π½Π°ΠΌ Π½ΡΠΆΠ½Ρ ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ Π²Π²ΠΎΠ΄Π° Π² input
Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠ»ΡΡΠ΅Π²ΡΡ
ΡΠΎΠ±ΡΡΠΈΠΉ.
@Tyriar ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ InputEvent
ΡΠΎΡΠ½ΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ. ΠΠ³ΠΎ evt.data
ΠΏΡΠΎΡΡΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ΅ΠΊΡΡΡΡ ΡΡΡΠΎΠΊΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ input/textarea
ΠΈ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ Π½Π°ΠΆΠ°ΡΡΡ
ΠΊΠ»Π°Π²ΠΈΡΠ°Ρ
ΠΈ Ρ. Π. Π― ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ΄ΡΠΌΠ°Π», ΡΡΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠΎΡΡ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π² ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΈ Ρ ΠΎΠ±ΡΡΠ½ΡΠΌ KeyboardEvent
.
Π£ ΠΌΠ΅Π½Ρ ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ Fluent Terminal .
Π― Π½Π΅ ΠΌΠΎΠ³Ρ Π²Π²Π΅ΡΡΠΈ ~
, Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Γ
. ΠΠΎΡ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ° - PT-BR (Ρ ΠΊΠ»Π°Π²ΠΈΡΠ΅ΠΉ AltGr), Π½ΠΎ Π΅ΡΠ»ΠΈ Ρ ΠΈΠ·ΠΌΠ΅Π½Ρ ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΡ Π½Π° US, Ρ ΠΌΠΎΠ³Ρ Π²Π²Π΅ΡΡΠΈ ~
Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»Π°Π²ΠΈΡΠΈ '
.
ΠΠΎΠΊΠ° ΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π°, Ρ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡΡΡ ΠΎΡΡΡΠ΄Π°
Π― Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½, ΡΡΠΎ ΡΡΠΎ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, Π½ΠΎ Ρ ΡΡΠΈΡΠ°Ρ, ΡΡΠΎ Π²Π²ΠΎΠ΄ Π»ΡΠ±ΡΡ
Π΄ΠΈΠ°ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ
Π·Π½Π°ΠΊΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΓΆ αΊ§ ΠΈ Ρ. Π.), Π Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΠ»ΡΠ΄Ρ, Π² xterm
Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ (ΠΏΠ΅ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊΠ°ΠΊ oa, Π±Π΅Π· ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½Ρ Π»ΡΠ±ΡΠ΅ Π΄ΠΈΠ°ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π·Π½Π°ΠΊΠΈ). ΠΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΎ Ρ ΡΡΠ°Π½ΡΡΠ·ΡΠΊΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠΎΠΉ ΠΈ Linux, ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ xTerm.js Π½Π° Hyper ΠΈ / ΠΈΠ»ΠΈ eDEX-UI.
@GitSquared Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ Π²Π°ΡΠ΅ΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ $LANG
?
@Tyriar My $LANG
ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π² en_US.UTF-8
Π½ΠΎ Π²Π²ΠΎΠ΄ Π΄ΠΈΠ°ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ
Π·Π½Π°ΠΊΠΎΠ² ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² Π΄ΡΡΠ³ΠΈΡ
ΡΠΌΡΠ»ΡΡΠΎΡΠ°Ρ
ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° (Konsole), ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° fr_FR.UTF-8
Π½Π΅ ΡΠ΅ΡΠ°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. .
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Ρ Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½, ΠΊΠ°ΠΊ $LANG
Π²Π»ΠΈΡΠ΅Ρ Π½Π° Π²Π²ΠΎΠ΄ ΡΠ΅ΠΊΡΡΠ°? ΠΡΠΎ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π΄Π»Ρ xterm.js ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅?
@Tyriar ΠΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Mac ΠΈΠ»ΠΈ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡ Mac (MBP)? Π£ ΠΌΠ΅Π½Ρ Π½Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ°ΠΌΠΈ ΠΠ Ρ Π½Π΅ΠΌΠ΅ΡΠΊΠΎΠΉ ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ - Π²ΡΠ΅ ΡΠΌΠ΅Π½Ρ ΡΡΠ΅ΡΡΠ΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π·Π°Π΄ΡΠΌΠ°Π½ΠΎ Π²ΠΎ Π²ΡΠ΅Ρ Π±ΡΠ°ΡΠ·Π΅ΡΠ°Ρ (ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½ΠΎ Π΄Π΅ΠΌΠΎ Π² chrome + FF).
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ΄Π΅ΠΈ, ΡΡΠΎ ΠΈΠ΄Π΅Ρ Π½Π΅ ΡΠ°ΠΊ (Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΡΠΎ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΊΠ°ΠΊ Π΄Π²Π΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π½Π° Π½ΠΈΠΆΠ½Π΅ΠΌ ΡΡΠΎΠ²Π½Π΅):
Alt + ^
: Alt
ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΠΎΡΠΎΠ±ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΌΡ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌ Π΅Π³ΠΎ Ρ ΠΊΠ»Π°Π²ΠΈΡΠ΅ΠΉ Meta
Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ΅ ΠΠ (ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² Π½Π΅ΠΌ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠΉ Meta
ΠΊΠ»ΡΡ). ΠΡΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅Π²Π΅ΡΠ½ΡΠΌ Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΡΠΈΠΏΠΎΠ² ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ (Mac?). ΠΠ»Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡ Mac Ρ Π½Π°Ρ Π΅ΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° macOptionIsMeta
, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, Π½ΡΠΆΠ½Π° Π»ΠΈ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ³Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΊΠ»Π°Π²ΠΈΡ Alt+XY
Π² Keyboard.ts
Π΅ΡΠ»ΠΈ ΠΎΠ½Π° ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π°.AltGr
ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π½Π°ΠΆΠ°ΡΠΎΠΉ, ΡΠΎΠΎΠ±ΡΠ°Π΅ΠΌΠ°Ρ Π·Π°ΠΏΠΈΡΡ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΌΠ΅ΡΡΠΈΡΡΡΡ Π½Π° ΡΡΠ΅ΡΠΈΠΉ ΡΠΈΠΌΠ²ΠΎΠ» Π΄Π»Ρ Π²ΡΠΎΡΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΡΠΈ. ΠΡΠ»ΠΈ Π±ΡΠ°ΡΠ·Π΅Ρ ΠΎΡΠΈΠ±Π°Π΅ΡΡΡ, Ρ Π±ΠΎΡΡΡ, ΡΡΠΎ ΠΌΡ ΠΌΠ°Π»ΠΎ ΡΡΠΎ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ. ΠΠΎ ΡΡΠΎ Π²ΡΠ΅ ΡΠΏΠ΅ΠΊΡΠ»ΡΡΠΈΠΈ, ΠΈ Π΄Π»Ρ Π²ΡΡΠ²Π»Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ
ΠΊΡΠ°ΠΉΠ½ΠΈΡ
ΡΠ»ΡΡΠ°Π΅Π² ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π½Π°Π΄Π»Π΅ΠΆΠ°ΡΠ΅Π΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ. ΠΡΠ»ΠΈ InputEvent
ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ»ΡΡΠ°, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ KeyboardEvent
+ InputEvent
. ΠΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π² ΠΊΡΠ°ΠΉΠ½Π΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π° ββΡΠΎΠ±ΡΡΠ²Π΅Π½Π½Π°Ρ (Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΠ°Ρ) ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΠ° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ.Π Π°Π±ΠΎΡΠ° Ρ ΠΊΠ»Π°Π²ΠΈΡΠ°ΠΌΠΈ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ»Π° Π³ΠΎΠ»ΠΎΠ²Π½ΠΎΠΉ Π±ΠΎΠ»ΡΡ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ°Ρ , ΠΌΠΎΠΆΠ΅Ρ, ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΅ΠΌΡ-Π½ΠΈΠ±ΡΠ΄Ρ Π½Π°ΡΡΠΈΡΡΡΡ Ρ ΠΏΠ°ΡΠ½Π΅ΠΉ ΠΈΠ· ΠΠΎΠ½Π°ΠΊΠΎ?
ΠΠ΅ΡΠΈ, ΡΠΏΠΎΠΌΡΠ½ΡΡΡΠ΅ Π² ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅, ΡΡΡΠ΄Π½ΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΠΌΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ Π΅Π΅ ΠΈ Π½Π΅ Π·Π½Π°Π΅ΠΌ ΡΠΎΡΠ½ΡΡ ΠΎΠ±ΡΡΠΎΡΡΠ΅Π»ΡΡΡΠ², ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΡΡ ΡΡΠ° ΠΎΡΠΈΠ±ΠΊΠ° ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅ΡΡΡ (Π²Π΅ΡΡΠΈΡ ΠΠ‘ + Π±ΡΠ°ΡΠ·Π΅Ρ). ΠΡΡΡ Π»ΠΈ Π΄ΠΎΠ±ΡΠΎΠ²ΠΎΠ»ΡΡΡ (ΡΠ°ΡΡΠΈΡΠ½ΠΎ) Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ?
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π»ΠΈ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ Π±ΡΠ°ΡΠ·Π΅Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ https://w3c.github.io/uievents/tools/key-event-viewer.html.
ΠΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Mac ΠΈΠ»ΠΈ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡ Mac (MBP)?
@jerch , Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ ΠΏΡΠ°Π²Ρ, OP, ΠΈ Π²ΡΠ΅ 2 ΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ vscode Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π½Π° macos.
Π Π²Π°ΡΠ΅ΠΌΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ, ΡΡΠ΄ Π·Π°ΠΊΡΡΡΡΡ
/ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΡ
ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ VSCode ΠΏΡΠΈΠ²Π΅Π» ΠΌΠ΅Π½Ρ ΠΊ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅, ΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Windows. ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠ°Π½ΡΡΠ·ΡΠΊΠΎΠΉ ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΠΈ AZERTY ΡΠΈΠ»ΡΠ΄Π° Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π² ΡΡΡΠΎΠΊΠ΅ Β«numberΒ», Π½Π° ΠΊΠ»Π°Π²ΠΈΡΠ΅ Β«2Β», ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠΌΠ΅Π΅Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° «é», ΡΠ΄Π²ΠΈΠ³Π° char Β«2Β» ΠΈ ΡΡΠ΅ΡΡΠ΅Π³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° Β«~Β», ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ΅ΡΡΠ²ΡΡ ΠΊΠ»Π°Π²ΠΈΡΡ. ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ Π²Π²Π΅ΡΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ» ~, Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ Π±ΡΠ΄Π΅Ρ AltGr + Γ©, Space. ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Γ©~
.
Π― Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΡΠ²Π΅ΡΠ΅Π½, ΡΡΠΎ ΡΡΠΎ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΎΡΠΈΠ±ΠΊΠ°, Π½ΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ, ΡΡΠΎ ΠΎΠ½Π° Π²ΡΠ·Π²Π°Π½Π° ΡΠ΅ΠΌΠΈ ΠΆΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠΏΡΠΈΡΠΈΠ½Π°ΠΌΠΈ.
@laarmen ΠΠΎΡ ΠΎΠΆΠ΅, ΡΠ½Π°ΡΠ°Π»Π° ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΡΠ΅ ΠΌΠ°ΠΊΠ΅ΡΡ, AZERTY ΠΊΠ°ΠΆΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π½ΠΈΡ . ΠΠ°ΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ Π½ΠΈΠΊΡΠΎ ΠΈΠ· Π½Π°Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π² ΡΡΠΎΠΌ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ, ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π°Π½Π³Π»ΠΈΠΉΡΠΊΡΡ / Π½Π΅ΠΌΠ΅ΡΠΊΡΡ ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΠΈ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ.
Π’Π°ΠΊ ΡΡΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ Π²ΠΎΠ·ΡΠ°ΠΆΠ°Π΅ΡΠ΅ - Π½Π΅ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΠΎΡΠΈΠ±ΠΎΡΠ½Ρ Π»ΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠ΅ΡΡΠΈ ΡΠΌΠ΅Π½Ρ (Ρ ΡΠ°ΠΊ ΠΏΠΎΠ»Π°Π³Π°Ρ)? Π ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π»ΠΈ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ https://w3c.github.io/uievents/tools/key-event-viewer.html - Π΅ΡΠ»ΠΈ Π΄Π°, ΡΠΎ ΡΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ Π½Π°ΡΠ΅ΠΉ ΡΡΠΎΡΠΎΠ½Ρ.
Π’Π°ΠΊΠΆΠ΅ ΡΠΎΠΎΠ±ΡΠΈΡΠ΅ Π½Π°ΠΌ Π²Π΅ΡΡΠΈΡ Π²Π°ΡΠ΅ΠΉ ΠΠ‘ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ ΡΠ·ΡΠΊ / ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΡ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ. (ΠΡΠ΅ Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½, Ρ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Π±ΡΠ°ΡΠ·Π΅Ρ ΠΏΡΡΠ°Π΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΠΈ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ ΠΠ‘ Π΄Π»Ρ ΠΊΠΎΠ΄ΠΎΠ² ΡΠΎΠ±ΡΡΠΈΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΡΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ).
ΠΠ·ΠΌΠ΅Π½ΠΈΡΡ: Π²ΠΎΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ ΡΠ°ΡΠΊΠ»Π°Π΄ΠΎΠΊ Π»Π°ΡΠΈΠ½ΡΠΊΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ https://en.wikipedia.org/wiki/List_of_Latin-script_keyboard_layouts (ΠΈ ΡΡΡΠ»ΠΊΠΈ Π½Π° Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΠΈ Π² Π½ΠΈΠΆΠ½Π΅ΠΌ ΠΊΠΎΠ»ΠΎΠ½ΡΠΈΡΡΠ»Π΅). Π ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ISO Π΄Π»Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡ https://en.wikipedia.org/wiki/ISO/IEC_9995.
Π₯ΠΎΡΠΎΡΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΠΏΠΎΠΏΡΡΠ°Π»ΡΡ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ Π½Π° ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ΅ Docker xterm.js, Π½ΠΎ Π½Π΅ ΡΠΌΠΎΠ³ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ (ΠΈ Firefox, ΠΈ Chrome). Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Windows 10, ΠΈ ΠΌΠΎΡ ΠΎΡΠΈΠ±ΠΊΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅ VSCode (1.38.1). π€·ββ
@laarmen Π, ΡΡΠΎ ΡΡΡΠ°Π½Π½ΠΎ, Ρ ΠΏΠΎΡΡΠΈ ΡΠ²Π΅ΡΠ΅Π½, ΡΡΠΎ vscode Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΠΊΠΎΠ΄ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
@Tyriar FYI. ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ, ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½Π°Ρ ΠΎΡΠΈΠ±ΠΊΠ° Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΠΈ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ ΠΠ‘?
@rebornix Π²Ρ Π²ΠΈΠ΄Π΅Π»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-Π½ΠΈΠ±ΡΠ΄Ρ ΠΎΡΡΠ΅ΡΡ ΠΏΠΎ ΡΡΠΎΠΌΡ ΠΏΠΎΠ²ΠΎΠ΄Ρ Π΄Π»Ρ ΠΠΎΠ½Π°ΠΊΠΎ?
ΠΠ»Ρ ΠΌΠ΅Π½Ρ Π½Π° macOS, ΡΠΈΠ½ΡΠΊΠ°Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ°, Safari ΠΈ Chrome, ΡΠΈΠ»ΡΠ΄Π° + ΠΏΡΠΎΠ±Π΅Π» ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ~, Π° ΡΠΈΠ»ΡΠ΄Π° + n Π΄Π°Π΅Ρ - ΠΊΠ°ΠΊ ΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ. ΠΠΎ Π² Firefox ΡΠΈΠ»ΡΠ΄Π° + ΠΏΡΠΎΠ±Π΅Π» ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ~~, Π° ΡΠΈΠ»ΡΠ΄Π° + n Π΄Π°Π΅Ρ ~ Γ±Γ±.
ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΡΡΠΎ ΡΡΠΎ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅ Π² ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ (Π½ΠΎ ΠΏΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½Π°ΡΠ΅) Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΉ ΡΡΡΠ°Π½ΠΈΡΡ https://xtermjs.org/ . ΠΡΠ»ΠΈ Π²Ρ Π²Π²Π΅Π΄Π΅ΡΠ΅ ΡΠΈΠ»ΡΠ΄Ρ + ΠΏΡΠΎΠ±Π΅Π» Π² Safari, Π²Ρ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅. Π’ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ Π΄Π»Ρ ΡΠΈΠ»ΡΠ΄Ρ + n. ΠΠΎ Ρ Firefox, ΠΊΠΎΠ³Π΄Π° ΡΠΈΠ»ΡΠ΄Π° + ΠΏΡΠΎΠ±Π΅Π» Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π΄Π°Π΅Ρ, ΡΠΈΠ»ΡΠ΄Π° + n Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π΄Π°Π΅Ρ -. ΠΠ΅ ΡΠ²Π΅ΡΠ΅Π½, ΠΏΠΎΡΠ΅ΠΌΡ ΡΠ°ΠΌ ΠΏΠΎ-Π΄ΡΡΠ³ΠΎΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
ΠΡΡΠ½Π°Π» ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΠΏΡΠΈ Π²Π²ΠΎΠ΄Π΅ ΡΠΈΠ»ΡΠ΄Ρ + ΠΏΡΠΎΠ±Π΅Π» Π² Firefox:
xterm.js: sending data "~" Array [ 126 ]
xterm.js: sending data "~" Array [ 126 ]
xterm.js: parsing data ~~
ΠΠ»Ρ ΡΠΈΠ»ΡΠ΄Ρ + n ΡΡΠΎ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ:
xterm.js: sending data "~" Array [ 126 ]
xterm.js: sending data "Γ±" Array [ 241 ]
xterm.js: sending data "Γ±" Array [ 241 ]
xterm.js: parsing data ~
xterm.js: parsing data Γ±Γ±
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠΈΡ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ°Ρ Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠΎΠΎΠ±ΡΠ°Π΅ΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈ Π²Π²ΠΎΠ΄Π°, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ ΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ.
Π― Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ, ΡΡΠΎ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ, ΠΏΠΎΠΊΠ° Π²Ρ Π½Π΅ Π½Π°ΠΆΠΌΠ΅ΡΠ΅ ΠΏΡΠΎΠ±Π΅Π» ΠΈΠ»ΠΈ n. Π’ΠΎ Π΅ΡΡΡ Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ ΡΠΈΠ»ΡΠ΄Π°, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»Π°, Π½Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΡ ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ², ΡΡΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌ.
ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π·Π°ΠΏΠΈΡΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ ΠΏΡΡΠ΅ΠΌ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ API ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° Π΄Π»Ρ ΡΠΈΠ»ΡΠ΄Ρ + n Π² Windows Firefox (71) Ρ ΡΠΈΠ½ΡΠΊΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠΎΠΉ ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ:
keydown Control { target: textarea.xterm-helper-textarea, key: "Control", charCode: 0, keyCode: 17 }
keydown { target: textarea.xterm-helper-textarea, key: "AltGraph", charCode: 0, keyCode: 18 }
keydown { target: textarea.xterm-helper-textarea, key: "Dead", charCode: 0, keyCode: 160 }
keyup { target: textarea.xterm-helper-textarea, key: "Dead", charCode: 0, keyCode: 160 }
keyup { target: textarea.xterm-helper-textarea, key: "Control", charCode: 0, keyCode: 17 }
keyup { target: textarea.xterm-helper-textarea, key: "AltGraph", charCode: 0, keyCode: 18 }
keydown { target: textarea.xterm-helper-textarea, key: "Γ±", charCode: 0, keyCode: 78 }
keyup { target: textarea.xterm-helper-textarea, key: "n", charCode: 0, keyCode: 78 }
Π macOS Ρ Firefox (71) Ρ ΡΠΈΠ½ΡΠΊΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ°ΠΊΠΎΠ²Π°:
keydown Alt { target: textarea.xterm-helper-textarea, key: "Alt", charCode: 0, keyCode: 18 }
keydown Alt { target: textarea.xterm-helper-textarea, key: "Dead", charCode: 0, keyCode: 160 }
keyup Alt { target: textarea.xterm-helper-textarea, key: "~", charCode: 0, keyCode: 160 }
keyup { target: textarea.xterm-helper-textarea, key: "Alt", charCode: 0, keyCode: 18 }
keydown { target: textarea.xterm-helper-textarea, key: "Γ±", charCode: 0, keyCode: 78 }
keyup { target: textarea.xterm-helper-textarea, key: "n", charCode: 0, keyCode: 78 }
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΡΠΎ Π΄ΡΡΠ³ΠΎΠΉ Π²ΠΎΠΏΡΠΎΡ, ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΠΏΠΎΠ΄Π°ΠΌ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ Π±ΠΈΠ»Π΅Ρ.
ΠΠ°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π²ΡΠΏΡΡΠΊ β 2661
ΠΠ΄ΡΠ°Π²ΡΡΠ²ΡΠΉΡΠ΅,
Π£ ΠΌΠ΅Π½Ρ ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΠΎΠΌ VSCode Ρ ΡΡΠ°Π½ΡΡΠ·ΡΠΊΠΎΠΉ ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΠΎΠΉ.
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Windows 10 2004.
ΠΠΎΠ³Π΄Π° Ρ Ρ
ΠΎΡΡ Π²Π²Π΅ΡΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ» ~
, ΠΎΠ½ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΌΠ½Π΅ Γ©~
( Alt right
+ Γ©
Π·Π°ΡΠ΅ΠΌ space
).
Alt right
+ Γ©
(Π΄Π²Π°ΠΆΠ΄Ρ), ΠΌΠ½Π΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Γ©Γ©~
.
Π― ΠΌΠΎΠ³Ρ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π½Π° xtermjs.org.
Π― ΠΏΡΡΠ°Π»ΡΡ ΡΠΎΠ±ΡΠ°ΡΡ ΠΆΡΡΠ½Π°Π»Ρ / ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠΎΡΡ Π²Π°ΠΌ. ΠΡΠ»ΠΈ Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ, Π²Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π½Π° ΡΠ²ΠΎΠ΅ΠΉ ΡΡΠΎΡΠΎΠ½Π΅, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠΎΠΎΠ±ΡΠΈΡΠ΅ ΠΌΠ½Π΅, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π΅ΡΠ΅ ΡΡΠΎ-ΡΠΎ Π½ΡΠΆΠ½ΠΎ.
ΠΡΠ»Π°Π΄ΠΊΠ° VSCode, ΠΏΡΠΈΠΊΡΠ΅ΠΏΠ»Π΅Π½Π½Π°Ρ onkeydown ΠΈ oninput ΠΊ console.log:
(Γ© ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π² ΡΠΎΠ±ΡΡΠΈΠΈ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ AltGraph).
Π‘ΡΠ΅Π΄ΡΡΠ²ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΠΎΠ±ΡΡΠΈΠΉ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ:
@tcardonne Π― ΡΡΠΈΡΠ°Ρ, ΡΡΠΎ ΡΡΠΎ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ ΠΈ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΌΡ ΡΠ»ΡΡΠ°Π΅ΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΎΠ±ΡΡΠΈΡ keydown / key / keyup, Π° Π½Π΅ ΡΠΎΠ±ΡΡΠΈΠ΅ input
, ΡΡΠΎ ΡΠ° ΠΆΠ΅ ΠΏΡΠΈΡΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΌΠΎΠ΄Π·ΠΈ Π½Π΅ ΠΎΡΠ΅Π½Ρ Ρ
ΠΎΡΠΎΡΠ° https: // github .com / xtermjs / xterm.js / Π²ΠΎΠΏΡΠΎΡΡ / 469. ΠΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ, Π½ΠΎ ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π²Π²ΠΎΠ΄, ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ ΠΈ ΡΠ΅ΡΡΠΎΠ².
@ Π’ΠΈΡΠΈΠ°Ρ, Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ.
ΠΡΠΎ ΡΡΡΠ°Π½Π½ΠΎ, Ρ ΠΌΠ΅Π½Ρ Π΄ΠΎΠΌΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π½Π° ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΡΡΠΎΠ»Π΅, Π½ΠΎ Ρ Π½Π΅ ΠΌΠΎΠ³Ρ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ Π΅Π΅ Π½Π° ΡΠ²ΠΎΠ΅ΠΌ ΡΠ°Π±ΠΎΡΠ΅ΠΌ Π½ΠΎΡΡΠ±ΡΠΊΠ΅ (Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΉ ΠΊ Π½Π΅ΠΌΡ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠΎΠΉ).
Π― ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π» Π½Π° ΡΠ°ΠΉΡΠ΅ xtermjs.org ΠΈ Π½Π° vscode.
ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½Π°Ρ ΡΠ°Π·Π½ΠΈΡΠ° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² Π²Π΅ΡΡΠΈΠΈ Π΄Π»Ρ Windows (2004 Π³. Π½Π° ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, 1903 Π³. Π½Π° ΡΠ°Π±ΠΎΡΠ΅ΠΌ Π½ΠΎΡΡΠ±ΡΠΊΠ΅).
ΠΠΎΡ ΡΠ°Π±Π»ΠΈΡΠ° ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΠΎΠ±ΡΡΠΈΠΉ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ:
(ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΊΠ»Π°Π²ΠΈΡΡ Dead
)
ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ°Π·Π½ΠΈΡΠ΅ΠΉ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΠΠ‘, Π½ΠΎ Ρ Π½Π΅ ΠΌΠΎΠ³Ρ Π½Π°ΠΉΡΠΈ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΡΠ°Π·Π½ΠΈΡΡ. Π£ Π²Π°Ρ Π΅ΡΡΡ ΠΈΠ΄Π΅ΠΈ ΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ²Π»ΠΈΡΡΡ Π½Π° ΡΡΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅?
Π₯ΠΎΡΠΎΡΠΎ, Ρ ΡΡΠ²ΡΡΠ²ΡΡ ΡΠ΅Π±Ρ Π³Π»ΡΠΏΠΎ, Ρ Π½Π΅ Π·Π°ΠΌΠ΅ΡΠΈΠ» NumLock Π½Π° ΠΌΠΎΠ΅ΠΌ ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
Π£ ΠΌΠ΅Π½Ρ ΠΌΠ°Π»Π΅Π½ΡΠΊΠ°Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ° Π±Π΅Π· ΡΠΈΡΡΠΎΠ²ΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ
ΠΊΠ»Π°Π²ΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ Π·Π°ΠΌΠ΅ΡΠΈΠ».
ΠΠ΄Π½Π°ΠΊΠΎ Π΄Π°ΠΆΠ΅ Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΎΠΉ num ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ°Π±ΠΎΡΠ°ΡΡ, ΡΠ°ΠΊ ΡΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° (ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ±ΡΡΠΈΡ Π²Π²ΠΎΠ΄Π°), Ρ Π΄ΡΠΌΠ°Ρ, Π²ΡΠ΅ Π΅ΡΠ΅ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ.
Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Ρ ΡΠ°Π΄, ΡΡΠΎ Π½Π°ΡΠ΅Π» ΠΏΡΠΈΡΠΈΠ½Ρ ΡΠ²ΠΎΠ΅ΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ!
Π― Π²ΠΈΠΆΡ, ΡΡΠΎ https://github.com/microsoft/vscode/issues/98533 Π±ΡΠ» ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ ΠΊΠ°ΠΊ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ, Π½ΠΎ https://xtermjs.org/ ΠΌΠΎΠΆΠ΅Ρ Π²Π²ΠΎΠ΄ΠΈΡΡ Π»ΡΠ±ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Γ‘Γ©ΓΓ³ΓΊ Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» vscode Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ. ..
Π― Π²ΠΈΠΆΡ, ΡΡΠΎ microsoft / vscode # 98533 Π±ΡΠ» ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ ΠΊΠ°ΠΊ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ, Π½ΠΎ https://xtermjs.org/ ΠΌΠΎΠΆΠ΅Ρ Π²Π²ΠΎΠ΄ΠΈΡΡ Π»ΡΠ±ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Γ‘Γ©ΓΓ³ΓΊ Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» vscode Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ...
ΠΠ΅ ΡΠΎΠ³Π»Π°ΡΠ΅Π½. Π― ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ ΠΌΠΎΠ³Ρ Π²Π²ΠΎΠ΄ΠΈΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Γ‘Γ©ΓΓ³ΓΊ Π² Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ https://xtermjs.org/ Ρ ΠΌΠΎΠ΅ΠΉ ΠΈΡΠΏΠ°Π½ΡΠΊΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠΎΠΉ.
Π― Π²ΠΈΠΆΡ, ΡΡΠΎ microsoft / vscode # 98533 Π±ΡΠ» ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ ΠΊΠ°ΠΊ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ, Π½ΠΎ https://xtermjs.org/ ΠΌΠΎΠΆΠ΅Ρ Π²Π²ΠΎΠ΄ΠΈΡΡ Π»ΡΠ±ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Γ‘Γ©ΓΓ³ΓΊ Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» vscode Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ...
ΠΠ΅ ΡΠΎΠ³Π»Π°ΡΠ΅Π½. Π― ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ ΠΌΠΎΠ³Ρ Π²Π²ΠΎΠ΄ΠΈΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Γ‘Γ©ΓΓ³ΓΊ Π² Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ https://xtermjs.org/ Ρ ΠΌΠΎΠ΅ΠΉ ΠΈΡΠΏΠ°Π½ΡΠΊΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠΎΠΉ.
ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ, ΡΡΠΎ SO ΠΈΠ»ΠΈ Π±ΡΠ°ΡΠ·Π΅Ρ? Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ firefox Π½Π° kde Neon Π·Π΄Π΅ΡΡ
Π― Π²ΠΈΠΆΡ, ΡΡΠΎ microsoft / vscode # 98533 Π±ΡΠ» ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ ΠΊΠ°ΠΊ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ, Π½ΠΎ https://xtermjs.org/ ΠΌΠΎΠΆΠ΅Ρ Π²Π²ΠΎΠ΄ΠΈΡΡ Π»ΡΠ±ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Γ‘Γ©ΓΓ³ΓΊ Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» vscode Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ...
ΠΠ΅ ΡΠΎΠ³Π»Π°ΡΠ΅Π½. Π― ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ ΠΌΠΎΠ³Ρ Π²Π²ΠΎΠ΄ΠΈΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Γ‘Γ©ΓΓ³ΓΊ Π² Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ https://xtermjs.org/ Ρ ΠΌΠΎΠ΅ΠΉ ΠΈΡΠΏΠ°Π½ΡΠΊΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠΎΠΉ.
ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ, ΡΡΠΎ SO ΠΈΠ»ΠΈ Π±ΡΠ°ΡΠ·Π΅Ρ? Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ firefox Π½Π° kde Neon Π·Π΄Π΅ΡΡ
ΠΡ ΠΏΡΠ°Π²Ρ: Ρ ΠΌΠΎΠ³Ρ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Google Chrome, Π½ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Γ‘Γ©ΓΓ³ΓΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΡΠΌΠΎ Π² Firefox. :ΠΎΡΠΊΡΡΡΡΠΉ ΡΠΎΡ:
@ricpelo ΠΡΠΎ ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ "ΠΌΠ΅ΡΡΠ²ΡΠΌΠΈ" ΠΊΠ»Π°Π²ΠΈΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π΅Π΄ΡΡ ΡΠ΅Π±Ρ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ Π² FF, Chrome ΠΈ Safari. ΠΠ΅ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ Π²Ρ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΠΎΠ±ΡΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ https://w3c.github.io/uievents/tools/key-event-viewer.html Π² FF ΠΈ Chrome ΠΈ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π·Π΄Π΅ΡΡ?
@jerch ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ. ΠΠ΄Π΅ΡΡ Ρ ΠΈΠ΄Ρ:
@ricpelo Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π±ΠΎΠ»ΡΡΠΎΠ΅. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ:
Π₯ΠΎΡΡ FF ΡΠΆΠ΅ Π²ΡΠ΄Π°Π΅Ρ Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½Π½ΡΠΉ ΠΌΠ΅ΡΡΠ²ΡΠΉ ΠΊΠ»ΡΡ ΡΠΈΠΌΠ²ΠΎΠ» Π² ΡΠΈΠ½Π°Π»ΡΠ½ΠΎΠΌ keydown
Π² key
, Ρ
ΡΠΎΠΌ ΠΏΡΠΎΡΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π½Π΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΉ ΠΊΠ»ΡΡ. Π― Π½Π΅ ΡΠ²Π΅ΡΠ΅Π½, ΠΊΡΠΎ Π·Π΄Π΅ΡΡ Π²ΠΈΠ½ΠΎΠ²Π°Ρ, ΠΈΠΌΡ
ΠΎ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ° Π² keydown
Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΠΎΡΠ΅Π½Ρ Ρ
ΠΎΡΠΎΡΠΎ ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π°. ΠΠ½ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ input
ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π² ΠΎΠ±ΠΎΠΈΡ
ΡΠ»ΡΡΠ°ΡΡ
. ΠΡΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π²Π΅ΡΠΊΠΈΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π° Π½Π° input
(ΠΌΡ ΡΠΆΠ΅ Π²ΡΡΡΠ½ΠΈΠ»ΠΈ ΡΡΠΎ Π²ΡΡΠ΅).
ΠΠΎ input
Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΏΠΎΠΉΠΌΠ°ΡΡ ΠΌΠ΅ΡΠ°-ΠΊΠ»Π°Π²ΠΈΡΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Strg, Alt, AltGr (Π»Π΅Π²ΡΠΉ / ΠΏΡΠ°Π²ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ Π² OSX), ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ. Shift Π² ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ, Π½ΠΎ ΠΎΠ½ΠΈ Π½Π°ΠΌ Π½ΡΠΆΠ½Ρ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅ Π΄Π»Ρ ΠΏΡΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ Π»ΡΠ±ΡΡ
Strg + X ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ
. Π― ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ, ΡΡΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ΅Π½ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎΠ±ΡΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ Π½Π° input
Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π΄ΡΡΠ³ΠΎΠ΅ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΠ΅ / ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΈΠ· ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ ΠΌΠ΅ΡΠ°-ΠΊΠ»ΡΡΠ΅ΠΉ "Π·Π°ΠΊΡΡΡΠΈΠ΅" keydown
/ keyup
events. ΠΠ²ΡΡΠΈΡ ΠΏΡΠΎΡΠΈΠ²Π½ΠΎ, Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌΠΎ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ (Π½Π΅Ρ Ρ
ΠΎΡΠΎΡΠ΅Π³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎ Π±Π΅Π· ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ).
ΠΡΡΡ Π½ΠΎΠ²ΠΎΡΡΠΈ ΠΏΠΎ ΡΡΠΎΠΌΡ ΠΏΠΎΠ²ΠΎΠ΄Ρ? ΠΡΡΡ Π»ΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ ΠΏΡΠ»-ΡΠ΅ΠΊΠ²Π΅ΡΡ ΠΈΠ»ΠΈ ΡΡΠΎ-ΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅?