์ฌํ ๋จ๊ณ :
M4
ํค๋ฅผ ๊ธธ๊ฒ ๋๋ฆ
๋๋ค. s
ํค ๋๋ฅด๊ธฐ (์ด๋ฏธ์ง ์ฐธ์กฐ)์ด์ ๋ฒ์ ์ VSCode (1.10.2 8076a19fdcab7e1fc1707952d652f0bb6c6db331)์์๋ ์ ๋๋ก ์๋ํ์ต๋๋ค.
๋์๊ฒ๋ ๊ฐ์ ๋ฌธ์ ์ ๋๋ค. ์ฒ์์์ด ๋ฌธ์ ๋ฅผ ์ฐพ์ง ๋ชปํ๊ธฐ ๋๋ฌธ์ ํค์๋ ๋ฌธ์ : ๋ ์ด์ด 4 ํ์ดํ ํค neo2 ๋ ์ผ์ด ํค๋ณด๋ ๋ ์ด์์.
1.10์์๋ ์ ์๋ํ๊ณ 1.11์์๋ ์๋ํ์ง ์์ต๋๋ค.
VSCode์ ๋ฐ๋ก ๊ฐ๊ธฐ ํธ์ง๊ธฐ๋ ์์ ํค๋ณด๋์์ ๊ฐ์กฐ ํ์๋ ์กฐํฉ์ [IntlBackslash] i
๋ก ์๋ณํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
Windows ๋ฐ VSCode 1.11.0์์๋ ๊นจ์ง์ง ์์ต๋๋ค.
๊ทธ๋ฌ๋ ํค ๋งคํ์ ํค ๋๋ฆ์ ๊ฐ๋ก ์ฑ๊ณ ์์ฒด์ ์ผ๋ก ๋ฐฉ์ถํ๋ autohotkey์ ์ํด ์ํ๋ฉ๋๋ค. AFAIK๋ Linux์์ ๋ค๋ฅด๊ฒ ์ฒ๋ฆฌ๋ฉ๋๋ค.
๋ฐฉ๊ธ git bisect
. ์ฒซ ๋ฒ์งธ ๋์ ์ปค๋ฐ์ https://github.com/Microsoft/vscode/commit/d10239639bf9beaa6ea34125319103de3dce43cd ( @alexandrudima )์
๋๋ค.
# bad: [9122ec4b1068bd391e41974f46a4b54c1b9c90f9] Fix styling of release notes (fixes #23948)
# good: [8076a19fdcab7e1fc1707952d652f0bb6c6db331] debug: save all untitled non dirty files before debug start
git bisect start '1.11.0' '1.10.2'
# good: [40fecfaa77f01672e8a147be71f6f7ccb9cf8a12] fix mixin
git bisect good 40fecfaa77f01672e8a147be71f6f7ccb9cf8a12
# good: [9d2e0611f7f7750f02ec72c4d18a20b69c5bf8cf] #18095 :lipstick:
git bisect good 9d2e0611f7f7750f02ec72c4d18a20b69c5bf8cf
# bad: [7c223972367b8ade5362d738606f3b910d0fbb42] Fixes #19235: Wording in tasks warning message
git bisect bad 7c223972367b8ade5362d738606f3b910d0fbb42
# good: [378231183e815c8e8e6a73ad04fc40ec5058fdc5] Promise cancellation is slow. Use a timer instead since this may run many times.
git bisect good 378231183e815c8e8e6a73ad04fc40ec5058fdc5
# good: [f70b0b3ecb7f276c811b0f18c7a0bec3b03c11a6] Fixes #22069: Define extension story for tasks
git bisect good f70b0b3ecb7f276c811b0f18c7a0bec3b03c11a6
# bad: [4ad4bd0d8011a5db5e2bea4543b7efb03d482aad] :bug: add commit box message
git bisect bad 4ad4bd0d8011a5db5e2bea4543b7efb03d482aad
# bad: [9003dbc3f5f2b87cb3cc4a3418030dbdc45ac0a3] Add IKeybindingService.resolveUserBinding
git bisect bad 9003dbc3f5f2b87cb3cc4a3418030dbdc45ac0a3
# bad: [968da131589845b43c0d00141b41b2bb366a84e8] Improve the ScanCode -> KeyCode guessing strategy
git bisect bad 968da131589845b43c0d00141b41b2bb366a84e8
# bad: [969cbdfea05beda1a38d4082698b87f239fc2384] Renames
git bisect bad 969cbdfea05beda1a38d4082698b87f239fc2384
# bad: [8a33db65efdd3ed4c76d01cb76c3ef658caf16db] Add Inspect Key Mapppings action
git bisect bad 8a33db65efdd3ed4c76d01cb76c3ef658caf16db
# bad: [0ebecd5ca915ed33ea747cafe2c99572c52904b5] Merge branch 'master' into alex/keybinding
git bisect bad 0ebecd5ca915ed33ea747cafe2c99572c52904b5
# bad: [d10239639bf9beaa6ea34125319103de3dce43cd] First cut at integrating keyboard mappers
git bisect bad d10239639bf9beaa6ea34125319103de3dce43cd
# first bad commit: [d10239639bf9beaa6ea34125319103de3dce43cd] First cut at integrating keyboard mappers
์ด ํค๋ณด๋ ๋ ์ด์์์ ์ดํดํ๋ ค๋ฉด ์๊ฐ์ด ํ์ํฉ๋๋ค. ๋น์ ์ด ๋๋ฅผ ๋์ธ ์์์๋งํผ ์น์ ํ๋ค๋ฉด ์์ผ๋ก ๋ช์ผ ์์ ๋น์ ์๊ฒ ํ์ ํ ๊ฒ์ ๋๋ค. ๋ด๊ฐ ๋ณธ ๊ฒ๊ณผ๋ ๋ค๋ฆ ๋๋ค.
ํค ์ฝ๋๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ค์ ๋์คํจ์นํ๋๋ก VS ์ฝ๋๋ฅผ ์ ํํ๋ ํด๊ฒฐ ๋ฐฉ๋ฒ์
๋๋ค. ๋ค์ ์ค์ ์ ์ถ๊ฐํ์ญ์์ค.
"keyboard.dispatch": "keyCode"
๋ฐ VS Code ๋ค์ ์์
Debian / Jessie์์๋ ๊ฐ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
https://github.com/Microsoft/vscode/issues/25797
๋ฐฑ ์คํ์ด์ค์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
์๋
ํ์ธ์, ์ ๋ ๊ฐ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ์ด์ ๋ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ง๋ง ์ค๋์ ๋ ์ด์ ์๋ํ์ง ์์ต๋๋ค. ์๋ํฐ ์์ ํ ์ฝ 2 ์ด ๋์ ์๋ํ๋ค๊ฐ ๊ธฐ๋ณธ ํค (๋ฌธ์)๊ฐ ๋ ์ด์ ์๋ํ์ง ์์ต๋๋ค. :์๊ฐ:
์ด์ ์ดํ๋ก ์ด๋ฆฌ์์ ์ง์ํ๋์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง, ์ ๊ทธ๋ฐ์ง ์ ์ ์๋์?
@zommerfelds ๋ด๊ฐ ๊ฐ์ฅ ๋จผ์ ํ์ธํ๋ ๊ฒ์ settings.json
์
๋๋ค. "keyboard.dispatch"
๊ฐ ๊ฑฐ๊ธฐ์ ๋ณต์ ๋์ด ์๋์ง, ํด๋๋ฅผ ์ด ๋ ์์
๊ณต๊ฐ ์ค์ ์ผ๋ก ๋ฎ์ด ์ฐ์ฌ์ง ์ค์ ๋ฑ์
๋๋ค.
๋ค์์ผ๋ก ์ดํด๋ณผ ๊ฒ์ ํธ์ง๊ธฐ๋ฅผ ์ด๊ณ F1 > Developer: Inspect key mappings
์
๋๋ค. "keyCode์ ๋ํ FallbackKeyboardMapper ๋์คํจ์น"(์ค์ ์ด ์ ์ฉ๋์์์ ๋ํ๋ด๋ ํ์๊ธฐ)๋ฅผ ์ธ์ํฉ๋๊น?
์ด๊ฒ์ด ์ค์ ์ ๋ฌธ์ ๊ฐ ์๋๋ผ๋ฉด, ์ฆ keyCode
์์ ๋์คํจ์น๊ฐ ์๋ฃ๋์๋ค๋ ํ์ธ์ด์๋ ๊ฒฝ์ฐ ํน์ ํค๋ฅผ ๋๋ฅผ ๋ Electron / Chromium / OS๊ฐ ์ ์กํ๋ ๋ด์ฉ์ ์ดํด ๋ณด๊ฒ ์ต๋๋ค. : ์
๋ ฅ ์์ ์๋ก ๋ง์ฐ์ค๋ฅผ ๊ฐ์ ธ๊ฐ ์คํฌ๋ฆฐ ์ท์ ์ฐ์ผ์ญ์์ค.
์๋ ํ์ธ์ @alexandrudima , ์์ธํ ๋ต๋ณ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
cat ~/.config/Code/User/settings.json
:
// Place your settings in this file to overwrite the default settings
{
"keyboard.dispatch": "keyCode"
}
ํธ์ง๊ธฐ๋ฅผ ์ด๊ณ _File => Preferences => Settings_๋ก ์ด๋ํ๋ฉด ์์ ๊ฐ์ด _USER SETTINGS_์ ๋ํด ๋์ผํ ๋ด์ฉ์ด ํ์๋๊ณ _WORKSPACE SETTINGS_์ ๋ํด {}
์ด ํ์๋๋ฏ๋ก ๊ด์ฐฎ์ ๊ฒ์
๋๋ค.
_F1> ๊ฐ๋ฐ์ : ํค ๋งคํ ๊ฒ์ฌ _๋ ๋ค์์ ์ ๊ณตํฉ๋๋ค.
Layout info:
{
"model": "pc105",
"layout": "de,ch",
"variant": "neo,",
"options": "grp:menu_toggle",
"rules": "evdev"
}
FallbackKeyboardMapper dispatching on keyCode
Raw mapping:
...
ํค ๋ฐ์ธ๋ฉ์ ๊ฒฝ์ฐ ๋ค์์ ์ป์ต๋๋ค.
"a"๋ฅผ ์
๋ ฅํ๋ ค๋ฉด :
"("๋ฅผ ์
๋ ฅํ๋ ค๋ฉด :
a๋ ํด๋น ํ์ ์์ ์ ์ธ์๋์ง๋ง ๊ธฐ๋ณธ ํธ์ง๊ธฐ์์๋ ์ธ์๋์ง ์์ต๋๋ค.
Neo์์ A
๋ D
ํค๊ฐ QWERTY์ ์๊ณ (
๋ QUERTY์์ CapsLock+J
์
๋๋ค.
Neo์ 4 ๋ฒ์งธ ๋ ์ด์ด์์ ํ์ดํ ํค๋ฅผ ์ฌ์ฉํ ์๋ ์์ง๋ง ์๋ฅผ ๋ค์ด ์ซ์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ฐฑ ์คํ์ด์ค๊ฐ ์๋ํฉ๋๋ค. ์
๋ ฅ์ด ์๋ํ์ง ์์ต๋๋ค. Ctrl+Z
์ (Neo์์) ์คํ ์ทจ์์ ๋ํด ์๋ํฉ๋๋ค.
๋ํ ์์ ๋งํ๋ฏ์ด Vscode๊ฐ ์์๋๋ ๋์ ๋ชจ๋ ๊ฒ์ด ์ฒ์ ๋ช ์ด ๋์ ์๋ ํ ๋ค์ ์๋์ด ์ค์ง๋ฉ๋๋ค.
๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก ๋์์ด ํ์ํ๋ฉด ์๋ ค์ฃผ์ธ์. Vscode๋ฅผ ๋ค์ ์ฌ์ฉํ ์ ์๋ค๋ฉด ์ข์ ๊ฒ์ ๋๋ค. :)
ํธ์ง : ์ค๋ช ์ ์ํด OP์ ๋์ผํ ๋ฌธ์ ๊ฐ ์์ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋ค ๋ฒ์งธ ๋ ์ด์ด์ ํ์ดํ ํค๋ ์๋ํ์ง๋ง ํ๋ฒํ๊ณ ๋จ์ํ ๋ฌธ์ ํค๋ ์๋ํ์ง ์์ต๋๋ค.
EDIT2 : _ ๋์๋ง => ์ ๋ณด _ :
Version 1.12.2
Commit 19222cdc84ce72202478ba1cec5cb557b71163de
Date 2017-05-10T13:16:25.899Z
Shell 1.6.6
Renderer 56.0.2924.87
Node 7.4.0
๊ฐ์ฌํฉ๋๋ค @alexandrudima ! ๋ณ๊ฒฝ "keyboard.dispatch": "code"
์ "keyboard.dispatch": "keyCode"
์์ File->Preferences->Settings
์์
(์ด์ค์ผ์ดํ ํค, ๋ค๋น๊ฒ์ด์
ํค, ๋ฐฑ ์คํ์ด์ค, ์ญ์ , ์ซ์)์ด M4 ์ธต ํค๋ฅผ ์ป๊ธฐ ์ํด ์ ๋ฅผ ๋์๋ค.
1.19.0
์์๋ ์ฌ์ ํ ์๋ํ์ง ์์ต๋๋ค.
๋ํ keyboard.dispatch
์ค์ ์ด ์ฐจ์ด๋ฅผ ๋ง๋ค์ง ์๋ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ด๋ค ์ค์ ์์๋ ํ์ ํค์ ๋ฐฑ ์คํ์ด์ค๋ ์๋ํ์ง๋ง ์ซ์์ ์ผ๋ฐ ๋ฌธ์๋ ์๋ํ์ง ์์ต๋๋ค.
vscode๊ฐ ์ค์ ๋ก keyCode
๋ก๋ก๋ํ๊ณ ์ด๋ป๊ฒ ๋ code
๋์ ๊ฐ์ง ์๋์ง ํ์ธํ ์์๋ ๋ฐฉ๋ฒ์ด ์์ต๋๊น?
์ฌ์ค ๋ฐฉ๊ธ ์๋ํ์ต๋๋ค! NeoX ํ์ฅ์ด ๋ด ์ค์ ์ ์๋ง์ผ๋ก keyboard.dispatch
์ keyCode
๋ก ์ค์ ํด์ผํฉ๋๋ค.
์ฃ์กํฉ๋๋ค. ์ง์ํด ์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค. Yay ์ด์ vscode๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค! :)
๊ทธ๋ฌ๋ฉด์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์๊น์?
ํ์ฌ VS ์ฝ๋์ ์ฌ์ ํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
๋ํ Ubuntu 17.10 (Linux 4.13.0-36-generic)์์ VS Code 1.201๋ก Neo-Layout์ ์ฌ์ฉํ๋ ๋ฐ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. "keyboad.dispatch": keyCode
-์ค์์น ์์ด๋ Neo2๋ก ์
๋ ฅ ํ ์ ์์์ง๋ง ๊ธฐ๋ณธ ๋ ์ด์์์ผ๋ก ๋ค์ ๋งคํ๋๋ฏ๋ก CTRL + C ๋ฐ CTRL + V๋ฅผ ์ฌ์ฉํ ์๋ ์์์ต๋๋ค (๊ฐ๊ฐ CTRL + R ๋ฐ CTRL + W ํธ๋ฆฌ๊ฑฐ). ).
์ ๋๋ "keyboard.dispatch"๋ฅผ ์๋ํ๊ณ ๊ทธ๊ฒ์ ๋์๊ฒ "์ ์์๋ ๊ตฌ์ฑ ์ค์ "์ ์๋ ค์ค๋ค. ํ์ง๋ง ๋ด ๋ฌธ์ ๋ ์กฐ๊ธ ๋ค๋ฆ ๋๋ค.
ํ์ดํ ํค๋ ์ ์๋ํ์ง๋ง ์๋ฅผ ๋ค์ด ์คํ ์ทจ์ ํค๋ ์๋ํ์ง ์์ต๋๋ค. M4+z
๋๋ฅด๋ฉด Visual Studio ์ฝ๋๋ z
๋ง ์ธ์ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ด๊ฐ รครถรผ์ ๊ฐ์ ํค์ ๋ฐ์ธ๋ฉํ๊ณ ์ถ์ ๋, vscode๋ ๊ทธ๊ฒ์ด ๋ฏธ๊ตญ ํค๋ณด๋๋ผ๋ฉด ๊ทธ ํค๋ฅผ ๋ฒ์ญํฉ๋๋ค. ๋ฐ๋ผ์ Ctrl+รผ
๋ Ctrl+z
๋ก ์ธ์๋ฉ๋๋ค. ์ด๊ฒ์ ๋์ฐํฉ๋๋ค.
์์ ๋ dvorak ํค๋ณด๋๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด XKB ํ๋ก๊ทธ๋จ์ ํค๋ณด๋๋ฅผ ๋งคํํฉ๋๋ค.
๋ฉํ ํค ๋๋ ์ถ๊ฐ ์์ ์๋ก ์๋ํ๋๋ก ์ค๋ฅธ์ชฝ Alt ํค๋ฅผ ์ ํํ๋ ๋ฐ ์ฌ์ฉ๋๋ ralt_switch ์ต์
์ ์ฌ์ฉํฉ๋๋ค.
VSCode Insider์์ keyCode ์ค์ ์ ํ์ฑํํฉ๋๋ค.
์๋๋ ๋ด XKB ์ค์ ์ํ์
๋๋ค.
VS์์ End
ํค๋ก ์ธ์ํ๋ RAlt (aka Meta key) + s
์
๋๋ค. + ์ข์
๋ด๊ฐ ์ด๋ป๊ฒํด์ผํ์ง๋ง ctrl+End
์ ํค๋ฅผ Ctrl+RAlt (Meta)+s
๊ฐ ์ธ์ Ctrl+s
๋ฌธ์๋ฅผ ์ ์ฅํฉ๋๋ค. -๋์
Ctrl+Right
aka Ctrl+RAlt (Meta)+n
์ฌ๋ฌ ๋ฒ ๋๋ฌ ๋จ์ด๋ฅผ ์ ํํ๋ ค๊ณ ํ ๋ ์ด๋ค ์ผ์ด ๋ฐ์ํ๋์ง ์ถ์ธกํ์ญ์์ค.
Ctrl ์์ ์๋ ๋ฉํ ํค ๋๋ Mod4์ ๊ฐ์ ์ถ๊ฐ ์์ ์ (๋๋ keyCode-ed ์์ ์)์ ์ ์ด์ธ๋ฆฌ์ง ์๋๋ค๊ณ ์๊ฐํฉ๋๋ค.
Ctrl+Shift+RAlt (Meta)+s
๋ ์ ์ถํฉ๋๋ค.
ํ์ง๋ง Shift+Ralt (Meta)+s
์ +Good
Shift+End
๋ฅผ ์ข์ํฉ๋๋ค.
์์ ์๋ฅผ ๊ฒฐํฉ ํ ๋ ctrl์ด ์ํํธ์ฒ๋ผ ์๋ํ๋๋ก ๋ง๋ค ์ ์์ต๋๊น?
๊ด๋ จ ๋ฌธ์ ๋ผ๊ณ ์๊ฐํ์ง๋ง ์ผ์ด์ค๊ฐ ๋ค๋ฆ
๋๋ค.
_ ์ ๋ชฉ ์ธ๊ธ ๋ค์ค ๋ ์ด์์, ์ด๊ฑด ์ปค์คํ
_
์ด ํด๊ฒฐ ๋ ์ฃผ์๊ณผ ๊ด๋ จ์ด ์์ต๋๊น?
keyboard.dispatch 'code'๋ฅผ ์ฌ์ฉํ์ง๋ง OSX์๋ง ํด๋น๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฐฉ๊ธ Linux Mint / Ubuntu์์ ์๋ํ์ง ์์์ต๋๋ค.
https://github.com/Microsoft/vscode/issues/12393#issuecomment -288994081
๋๋ Linux์ ์์ต๋๋ค.
๋ฒ์ 1.21.1
79b44aa704ce542d8ca4a3cc44cfca566e7720f1 ์ปค๋ฐ
๋ฐ์ดํ
2018-03-14T14 : 46 : 30.761Z
์ 1.7.9
๋ ๋๋ฌ 58.0.3029.110
๋
ธ๋ 7.9.0
์ํคํ
์ฒ x64
๋ถํํ๋ keyboard.dispatch
ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ ์๊ฒ๋ ํจ๊ณผ๊ฐ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ ์ด๋ ์ถฉ๋ถํ์ง๋ ์์ต๋๋ค. ์ฉ๋๊ฐ ๋ณ๊ฒฝ๋ CapsLock
(Mod3)๋ฅผ ์ฌ์ฉํ์ฌ /,\,[,]
๋ฑ๊ณผ ๊ฐ์ ํ๋ก๊ทธ๋๋จธ ๊ธฐํธ๋ฅผ ํธ์ง๊ธฐ์ ์ฝ์
ํ ์ ์์ง๋ง shift+/
์ ๊ฐ์ ๋ฐ๋ก ๊ฐ๊ธฐ์๋ ์ฝ์
ํ ์ ์์ต๋๋ค. shift+capslock+s
์ ๋ฌผ๋ฆฌ์ ๋ฒํผ
Mod3๋ก ๋ฐ๋ก ๊ฐ๊ธฐ๋ฅผ ๋ค์ ํ ๋นํ๋ ค๊ณ ํ๋ฉด unknown
@sakasistem์ด ์ธ๊ธ ๋ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง ํน์ ์ผ๋ จ์ ์์ ์ ํค์ ๋ฌธ์ ๊ฐ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
shift+/
์ ๊ฐ์ ๋ฐ๋ก ๊ฐ๊ธฐ๋ ์ ์ฒด BS์ด๋ฉฐ ์กด์ฌํ์ง ์์์ผํฉ๋๋ค.
?
์ด์ด์ผํ๋ฉฐ ๋ ์ด์์์ด ํด๋น ๋ฌธ์๋ฅผ ์
๋ ฅํ๋ ๋ฐ ํ์ํ ์์ ์๋ฅผ ๊ฒฐ์ ํ๋๋กํ๊ฑฐ๋ ๋ ์ด์์์ด shift + scancode_slash
์์กดํฉ๋๋ค. ์ฒซ ๋ฒ์งธ ์ต์
์์๋ ๊ฐ๋จํ ์
๋ ฅํฉ๋๊น? (๋ด ๋ ์ด์์์ ์์น์ ๋๋ฌ์ผํ๋ ์์ ์์ ๊ด๊ณ์์ด) ๋ ๋ฒ์งธ ๋ ์ด์์์์๋ ํค๋ณด๋ ์์น์ J๊ฐ ์์ผ๋ฏ๋ก ๋ ์ด์์์ ๋๋ฌธ์ J
๋ฅผ ์
๋ ฅํฉ๋๋ค. ๋ฏธ๊ตญ ์ฟผํฐ๋ /
์
๋๋ค.
krux02์ ๋ง์ฐฌ๊ฐ์ง๋ก ์คํ ์ทจ์ ๋ฐ ๋ค์ ์คํ์ ์ํด ๊ฐ๊ฐ 'Ctrl + รผ'๋ฐ 'Ctrl + k'๋ฅผ ์ ๋ ฅํด์ผํ์ง๋ง ์ ์ ํ "keyboard.dispatch"์ค์ ์ ์ฐพ์ ์ ์์๊ณ ๋ฌธ์ ๊ฐ ํด๊ฒฐ ๋ ๊ฒ ๊ฐ์ต๋๋ค.
์ด์์ฒด์ : Ubuntu 18.04 LTS
VSCode :
๋ฒ์ 1.23.1
d0182c3417d225529c6d5ad24b7572815d0de9ac ์ปค๋ฐ
๋ ์ง 2018-05-10T16 : 04 : 33.747Z
์ 1.7.12
๋ ๋๋ฌ 58.0.3029.110
๋
ธ๋ 7.9.0
์ํคํ
์ฒ x64
์ค, ๋๋์ด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๊ธฐ ์ํด vscode ๋ด๋ถ์๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
@sakasistem์ฒ๋ผ
๋ฌผ๋ฆฌ์ ์ฟผํฐ ํค๋ณด๋์ ํจ๊ป Thinkpad๋ฅผ ์ฌ์ฉํ๊ณ Linux Mint Sonya์์ xkb ํ์ผ์ ์ฌ์ฉํ์ฌ ํค๋งต์ ์ฌ์ฉ์ ์ ์ dvorak์ผ๋ก ์์ ํฉ๋๋ค.
๋ค์์ ํค๋งต ํ์ผ์
๋๋ค. https://pastebin.com/cUAxDtAM
๋ฐ๋น์ ๊ธฐ๋ฐ OS, Linux Mint๊ฐ ์ ํํฉ๋๋ค.
dvorak-intl ์ ์ ๋ฐ๋ก ์ ์ /usr/share/X11/xkb/symbols/us
์ ๋ฃ์ผ์ญ์์ค.
partial alphanumeric_keys
xkb_symbols "dvorak-intl" {
dvorak ๋ ์ด์์์ ํ์ ๋ง๋ฒ์ ์ถ๊ฐํ๊ณ up
์ ํจ๊ป left
, down
, right
RAlt+c,RAlt+h,RAlt+t,RAlt+n
( i, j, k, l
๋์ ์ฟผํฐ์ c, h, t, n
), ์ ๋ง ๋๋ถ๋ถ์ ์์ฉ ํ๋ก๊ทธ๋จ์์ ์๋ ctrl
, shift
๋ฐ alt
์์ ,ํ์ง๋ง vscode. Ctrl+RAlt+n
๋ ๋ค์ ๋จ์ด๋ก ์ด๋ํด์ผํ์ง๋ง ๋์ Ctrl + n์ฒ๋ผ ์๋ํ์ฌ ์ ํญ์ ์ฝ๋ ๋ค.
Shift ์์ ์๊ฐ ์๋ํ๋ฏ๋ก Shift+RAlt+s
๊ฐ ์ค ๋๊น์ง ์ ํํ๊ฒ๋๋ฉฐ Ctrl ์์ ์๊ฐ ์ฒ์์ ๋ฐ๋ก ๊ฐ๊ธฐ๋ฅผ ํธ๋ฆฌ๊ฑฐํฉ๋๋ค.
๋ค์์ pastebin ๋ด์ฉ์ ๋๋ค.
partial alphanumeric_keys
xkb_symbols "dvorak-shy" {
name[Group1]= "English (Dvorak) by Shy";
key <TLDE> { [ grave, asciitilde, dead_grave, dead_tilde ] };
key <AE01> { [ 1, exclam ] };
key <AE02> { [ 2, at ] };
key <AE03> { [ 3, numbersign ] };
key <AE04> { [ 4, dollar ] };
key <AE05> { [ 5, percent ] };
key <AE06> { [ 6, asciicircum, dead_circumflex, dead_circumflex ] };
key <AE07> { [ 7, ampersand ] };
key <AE08> { [ 8, asterisk ] };
key <AE09> { [ 9, parenleft, dead_grave] };
key <AE10> { [ 0, parenright ] };
key <AE11> { [ bracketleft, braceleft ] };
key <AE12> { [ bracketright, braceright, dead_tilde] };
key <AD01> { [ apostrophe, quotedbl, dead_acute, dead_diaeresis ] };
key <AD02> { [ comma, less, dead_cedilla, dead_caron ] };
key <AD03> { [ period, greater, dead_abovedot, periodcentered ] };
key <AD04> { [ p, P ] };
key <AD05> { [ y, Y ] };
key <AD06> { [ f, F ] };
key <AD07> { [ g, G, Page_Up, Page_Up ] };
key <AD08> { [ c, C, Up, Up ] };
key <AD09> { [ r, R, dead_tilde, dead_tilde ] };
key <AD10> { [ l, L ] };
key <AD11> { [ slash, question ] };
key <AD12> { [ equal, plus ] };
key <AC01> { [ a, A ] };
key <AC02> { [ o, O ] };
key <AC03> { [ e, E ] };
key <AC04> { [ u, U ] };
key <AC05> { [ i, I ] };
key <AC06> { [ d, D, Home, Home ] };
key <AC07> { [ h, H, Left, Left ] };
key <AC08> { [ t, T, Down, Down ] };
key <AC09> { [ n, N, Right, Right ] };
key <AC10> { [ s, S, End, End ] };
key <AC11> { [ minus, underscore ] };
key <AB01> { [ semicolon, colon, dead_ogonek, dead_doubleacute ] };
key <AB02> { [ q, Q ] };
key <AB03> { [ j, J ] };
key <AB04> { [ k, K ] };
key <AB05> { [ x, X ] };
key <AB06> { [ b, B ] };
key <AB07> { [ m, M, Page_Down, Page_Down ] };
key <AB08> { [ w, W ] };
key <AB09> { [ v, V ] };
key <AB10> { [ z, Z ] };
key <BKSL> { [ backslash, bar ] };
key <CAPS> { [ BackSpace, BackSpace, BackSpace, BackSpace ] };
include "level3(ralt_switch)"
};
RAlt๋ฅผ mod3์ฒ๋ผ ๋ง๋ค์ง ๋ง vscode๊ฐ์ด๋ฅผ unknown
๋ก ์ธ์ํ๊ฒ ๋ง๋๋ ๋ง๋ฒ์ ์ฝ๋ include "level3(ralt_switch)"
unknown
.
Linux๋ ํน์ดํ ํค๋ณด๋ ๋ ์ด์์์ ์ฌ์ฉ ํ์ง ์๊ณ XkbOptions
๋ฅผ ํตํด Caps Lock์ Backspace๋ก ๋ค์ ๋งคํํ์ผ๋ฉฐ ์๋ํ์ง ์์์ต๋๋ค. keyCode
๋ก ์ ํํ๋ฉด ์ ๋๋ก ์๋ํฉ๋๋ค. ๋๋ ์ด๊ฒ์ด ๋ชจ๋ ์ข
๋ฅ์ ํค ๋งคํ์ ์ํฅ์ ๋ฏธ์น๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋์๊ฒ :
์ฝ๋ก ์ macOS 10.14.3์ Visual Studio Code 1.32.3์์ ์๋์ผ๋ก ์๋์ ์ค์งํ์ต๋๋ค. Neo2์ ํค ์กฐํฉ์ caps lock + ;
(์ฟผํฐ ๊ธฐ์ค)์
๋๋ค. keyboard.dispatch
์ keyCode
ํ๋ ๊ฒ์ด ๋์์ด๋์์ต๋๋ค.
์ฌ๊ธฐ์ ๋ ๋ค๋ฅธ neo2 ์ฌ์ฉ์;) VSCode๋ฅผ ์ฌ์ฉํ๊ณ ์ฒ์ ๋ช ๋ถ ์์ ๋ฐฑ ์คํ์ด์ค ์๋ํ์ง ์๋ ๋ฌธ์ ๋ฅผ ๋ฐ๊ฒฌํ์ต๋๋ค. ๋คํํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ง๊ธ๊น์ง ๋งค๋ ฅ์ ์ผ๋ก ์๋ํฉ๋๋ค!
๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ์ด ๋ฒ๊ทธ๊ฐ ์ธ์ ๊ฐ ์์ ๋๋ค๋ฉด ์ข์ ๊ฒ์
๋๋ค;)
https://github.com/microsoft/vscode/issues/24043#issuecomment -292334048์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ฐฑ ์คํ์ด์ค ๊ธฐ๋ฅ (: +1 :)์์ ์๋ํ์ง๋ง ํ ๋จ์ด๋ฅผ ์ / ๋ค๋ก ์ด๋ํ๊ณ ์ปค์ ์ ๋๋ ๋ค์์ ํ ๋จ์ด๋ฅผ ์ญ์ ํฉ๋๋ค. ์ฌ์ ํ ์๋ํ์ง ์์ต๋๋ค. : confused :, ie Ctrl
+ Alt Gr
+ w
(์ฟผํฐ ๋ ์ด์์ / ํค๋ณด๋์ ํค)๋ ์ปค์ ์ผ์ชฝ ํ ๋จ์ด๋ฅผ ์ญ์ ํด์ผํ์ง๋ง ๋ถ์ฌ ๋ฃ๊ธฐ ๋งํ๋ฉด๋ฉ๋๋ค. Ctrl
+ w
(ํค๋ณด๋์ ์ฟผํฐ ๋ ์ด์์ / ํค) ์ธ ํด๋ฆฝ ๋ณด๋๋ Ctrl
+ v
์
๋๋ค.
Alt Gr
ํค ๋๋ฆ์ Ctrl
ํค๋ฅผ ๋๋ฅผ ๋ ๋ฌด์๋๋ ๊ฒ ๊ฐ์ต๋๋ค.
์ต์ ์ ๋ฐ์ดํธ์ ํจ๊ป Arch Linux๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ๋์์ด๋๋ ์ถ๊ฐ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ ค๋ฉด ์ด๋ป๊ฒํด์ผํฉ๋๊น?
์ ๋ VS Code๋ฅผ ์ฒ์ ์ฌ์ฉํ๊ณ Linux ( setxkbmap de koy
)์์ KOY ๋ ์ด์์ (์ผ๋ถ ์กฐ์ ํฌํจ)์ ์ฌ์ฉํฉ๋๋ค. Neo2์ ๋์ผํ ๋ฌธ์ : ํธ์ง๊ธฐ์์ CapsLock+L
๋ฅผ ๋๋ฌ ํ์ดํ์ ์
๋ ฅ ํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ CapsLock์ด ํฌํจ ๋ ๋ฐ๋ก ๊ฐ๊ธฐ๋ ์๋ํ์ง ์์ต๋๋ค (์ Ctrl+-
= Ctrl-CapsLock-L
์ถ์).
ํค ๋ฐ์ธ๋ฉ ๋ฌธ์ ํ์ด์ง ๋ ๋์์ด๋์ง ์์ผ๋ฉด F1 > Developer: Inspect key mappings
์คํ์ ๊ถ์ฅํฉ๋๋ค.
ํ์ค ๋
์ผ์ด ๋ ์ด์์ ( setxkbmap de
)์ ์ฌ์ฉํ์ฌ L ํค์ ๋ํด ๋ค์์ ์ป์ต๋๋ค.
"KeyL": {
"value": "l",
"withShift": "L",
"withAltGr": "ล",
"withShiftAltGr": "ล"
}
KOY ( setxkbmap de koy
)๋ฅผ ์ฌ์ฉํ๋ฉด ๋ค์์ ์ป์ ์ ์์ต๋๋ค.
"KeyL": {
"value": "n",
"withShift": "N",
"withAltGr": "n",
"withShiftAltGr": "N"
},
๋ถ๋ช ํ VS Code๋ ๋ ๋์ ์์ค์ ๋ ์ด์์์ ์ฌ๋ฐ๋ฅด๊ฒ ์ป์ง ๋ชปํฉ๋๋ค!
์ด ํค๋ณด๋ ๋ ์ด์์ ์ ํ๊ตฐ์ ๋ํ ์ถ๊ฐ ๊ธฐ์ ์ ๋ณด (neo, adnw, koy, bone) :
๋
์ผ์ด ๊ธฐ๋ณธ ๋ ์ด์์์์ AltGr ์ ISO_Level3_Shift
(Linux)์ ๋งคํ๋ฉ๋๋ค. Neo2 (๋ฐ ์ ์ฌ)์์ AltGr ์ ISO_Level5_Shift
์ ๋งคํ๋๊ณ CapsLock ์ ISO_Level3_Shift
๋งคํ๋ฉ๋๋ค.
๊ทธ๋์ ์ฐ๋ฆฌ๋ > Developer: Inspect key mappings
์ ์ถ๋ ฅ์์
"KeyL": {
"value": "n",
"withShift": "N",
"withAltGr": "-",
(CapsLock์ด ์๋ก์ด ISO_Level3_Shift
ํค๋ผ๋ ์ ์์ Neo2์ AltGr์ ๋์ฒดํ๊ธฐ ๋๋ฌธ์
๋๋ค)
๋๋
"KeyL": {
"value": "n",
"withShift": "N",
"withAltGr": "6",
(OP์ ์คํฌ๋ฆฐ ์ท์์ ๋ณผ ์ ์๋ฏ์ด ๋ฌผ๋ฆฌ์ AltGr ํค์ L ํค๋ฅผ ๋๋ฅด๋ฉด "6"์ด ํ์๋๊ธฐ ๋๋ฌธ์ ๋๋ค.)
์ด๊ฒ์ด VS Code ๊ฐ๋ฐ์๊ฐ ๋ฌธ์ ๋ฅผ ๋ ์ ์ดํดํ๋ ๋ฐ ๋์์ด๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
๋๋ ๋์ ๋ค๋ฅธ ์ฌ๋๋ค์ด ์ฌ๊ธฐ์์ Neo์ ๊ด๋ จ๋ ๋ช ๊ฐ์ง ๋ฌธ์ ๋ฅผ ํผํฉํ๊ณ ์์์ ์๊ณ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ๋ค์ ๊ด๋ จ์ด์์ ์ ์์ต๋๋ค.
์ด ๋ฒ์ ์ VS Code / Codium์ผ๋ก Ubuntu 18.04์์ ํ ์คํธ๋์์ต๋๋ค.
Version: 1.44.0
Commit: 2aae1f26c72891c399f860409176fe435a154b13
Date: 2020-04-09T10:44:46.342Z
Electron: 7.1.11
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Linux x64 4.15.0-96-generic
๋ฑ์ด ๋ณด์ธ๋ค
Alt Gr
๊ฐ์ ํ ๋ ํค๋ฅผ ๋๋ฌ ๊ทธ๋ฅ ๋ฌด์Ctrl
ํค๋ฅผ.๋๋ ๊ฐ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๋ฅผ ํตํด ํ๋์ ๋ฌธ์๋ก ํ์
Shift + RightArrow
๋ด๊ฐ ์ ๋ ฅ ํ ๋ ์๋RightArrow
๋ฅผ ํตํดAltGr + E
, ๊ทธ๋ฌ๋ ์ฌ์ฉํ์ฌCtrl + Shift + RightArrow
๋ค์ค ๋ ์ด์์ ํ๊ฒฌ์Ctrl + Shift + E
๋์ .
์ฃผ์ ๊ธฐ๋ก ๊ธฐ๋ฅ์ ์ฌ์ฉํ๊ณcode
๋์คํจ์น ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ต๋๋ค.
Shift + AltGr + E
๋๋ฅด๋ฉด ๋จผ์ shift + alt
๊ฐ ํ์๋๊ณshift + right
๋ก ๋ฐ๋๋๋ค.Ctrl + Shift + AltGr + E
๋๋ฅด๋ฉด ๋จผ์ ctrl + shift + alt
๊ฐ ํ์๋๊ณctrl + shift + e
๋ก ๋ฐ๋๋๋ค.
keyCode
๋ฉ์๋ ์ฌ์ฉ :
Shift + AltGr + E
๋๋ฅด๋ฉด ๋จผ์ shift + oem_8
๊ฐ ํ์๋๊ณ shift + right
๋ก ๋ฐ๋๋๋ค.Ctrl + Shift + AltGr + E
๋๋ฅด๋ฉด ctrl + shift + oem_8 ctrl+shift+e
๊ฐ ํ์๋ฉ๋๋ค.๋์ผ์ ์ฌ์ฉํ ๋ ๋ฐ์ Ctrl + AltGr +E
ํ๋์ด๋๋ค ctrl + e
๋์ ctrl + right
.
์ด ํน์ ๋ฌธ์ ์ ๊ฒฝ์ฐ ํน์ ํค๋ฅผ ์ฃฝ์ ๊ฒ์ผ๋ก ํ์ํ๋ ๊ฒ์ด ๊ฐ๋ฅํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ผ๊น์? Neo์ ๊ฐ์ ๋ ์ด์์์ AltGr
๋ฅผ ๋ฃ๊ธฐ ์ํด VSCode๊ฐ ์ ํ ํ์ํ์ง ์์ต๋๋ค. ์กฐํฉ์ ๋๋ ์ ๋ ์ ๋ฌ๋๋ ํค ์ฝ๋ ๋ง ์ฒ๋ฆฌํด์ผํฉ๋๋ค. ๊ทธ ์ธต์ด ๊ฒฝ์ฐ ๋ํ, ๊ฐ์ ๋ชจ๋ Mod4 ํค๋ฅผ ์ฌ์ฉํ์ฌ "์ ๊ธ" Ctrl + Shift + e
์ฌ๋ฐ๋ฅด๊ฒ ์ธ์๋์ด ctrl + shift + right
.
๋ด ๋ ์ด์์ ์ ๋ณด :
"layout": {
"model": "pc105",
"layout": "de,de,gb",
"variant": "neo,,",
"options": "grp_led:scroll,altwin:alt_super_win",
"rules": "evdev"
}
์ฌ๊ธฐ์ ์ค๋ช
๋ ๊ฒ๊ณผ ๋์ผํ ๋ฌธ์ ๊ฐ ์ฌ๋ฌ ๋ฒ ๋ฐ์ํ์ต๋๋ค. control
๋๋ ์ ์ฌํ ํค๋ฅผ ๋๋ฅด๋ฉด neo ๋ ์ด์์ ๋ ๋ฒจ 4์ ํน์ ํค๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ๋๊ณ ์์น ์๋ ๋ฐ๋ก ๊ฐ๊ธฐ๊ฐ ์คํ๋ฉ๋๋ค.
Ubuntu 18.04
์์ ์ ์๊ฒ ํจ๊ณผ๊ฐ ์์๊ณ ์ด๋ฌํ ๋ชจ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐ ํ ๊ฒ์ ์์ ๋ฐ ๊ฐ ๊นจ์ฐ๊ธฐ ํ์ setxkbmap -layout de -variant neo
๋ฅผ ์คํํ๋ ๊ฒ์
๋๋ค. keyboard.dispatch
( keyCode
๋๋ code
) ์ค์ ์์ ์๋ํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
"Startup Application Preferences"->Add
์ setxkbmap -layout de -variant neo
์
๋ ฅํ๊ณ ์ ์ฅํฉ๋๋ค.
sudoedit /lib/systemd/system-sleep/setxkbmap
์ถ๊ฐ
#!/bin/bash
case $1 in
post)
DISPLAY=:1 ; export DISPLAY
su $USER -c "sleep 1; setxkbmap -layout de -variant neo"
;;
esac
sudo chmod 755 /lib/systemd/system-sleep/setxkbmap
์คํ ๊ถํ์ ๋ถ์ฌํ์ญ์์ค.
$USER
๋์ ์ฌ์ฉ์๋ฅผ ์ถ๊ฐํ์ญ์์ค.DISPLAY=:0
์ ์์ ์ฐพ์์ง๋ง ์ ์๊ฒ๋ ์๋ํ์ง ์์์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ echo $DISPLAY
( :1
)์์ ์ป์ ๊ฐ์ ์ฌ์ฉํด ๋ณด์์ต๋๋ค.sleep 1;
๋์ sleep 3;
).์ด๊ฒ์ด ๋ค๋ฅธ ์ฌ๋๋ค์๊ฒ ๋์์ด๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค!
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ด ํค๋ณด๋ ๋ ์ด์์์ ์ดํดํ๋ ค๋ฉด ์๊ฐ์ด ํ์ํฉ๋๋ค. ๋น์ ์ด ๋๋ฅผ ๋์ธ ์์์๋งํผ ์น์ ํ๋ค๋ฉด ์์ผ๋ก ๋ช์ผ ์์ ๋น์ ์๊ฒ ํ์ ํ ๊ฒ์ ๋๋ค. ๋ด๊ฐ ๋ณธ ๊ฒ๊ณผ๋ ๋ค๋ฆ ๋๋ค.
ํค ์ฝ๋๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ค์ ๋์คํจ์นํ๋๋ก VS ์ฝ๋๋ฅผ ์ ํํ๋ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋๋ค. ๋ค์ ์ค์ ์ ์ถ๊ฐํ์ญ์์ค.
"keyboard.dispatch": "keyCode"
๋ฐ VS Code ๋ค์ ์์