en US 키보드 레이아웃으로 전환하여 개발

언어: [🇪🇸] - [🇺🇸]
내가 일을 시작했을 때, 나는 한 고급 개발자의 건의를 기억한다.

Install and use everything in English. The whole developer world is focused on English first. Your life will be easier because when you found an error only need to copy it and paste it on a search engine, sure you will find that this question was already made.


catch(error){
   console.log(`https://stackoverflow.com/search?q={error.message}`)
}
그래서 나는 이 농담을 처음 보았는데 그의 말이 일리가 있었다.😎
최근 며칠 동안 나는 많은 비미국 개발자(라틴아메리카, 스페인, 프랑스, 독일, 인도와 헝가리)가 엔US 키보드 레이아웃을 사용하는 것을 건의하는 것을 보기 시작했다.
그의 건의가 다시 내 눈앞에 나타났다.

If we are using the software in English and write code in English. Why not use hardware too?


프로그래밍 언어, IDE, 코드 편집기의 디자인과 개발은 모두 영어를 먼저 사용하기 위한 것이다. 만약 내가 틀리지 않았다면, 나는 그것들이 영어 키보드로 작성된 것이라고 확신한다.

이 사람들이 이런 포석으로 바뀌었을 때, 그들은 더욱 자연스럽고 편안하며 효율적이라고 느낄 것이다.나는 이것이 기호와 키보드 단축키가 ENUS 키보드 레이아웃에 맞추기 위해 설계된 것이라고 생각한다.나는 내가 정확한지 모르겠지만, 이것은 나에게 매우 의미가 있다.
엔US 키보드로 바꾸면 기계 키보드를 구입하는 것이 여태껏 쉽지 않았다는 또 다른 장점이 있다.내게는 에스라톰 레이아웃이 있는 좋은 키보드를 찾기조차 어렵다.

Sound good, but... where are the accents? and the Ñ letter?


빠른 솔루션


모든 발음이나 발음이 필요한 사람들은 같은 질문을 할 것이다. 왜냐하면 엔US 레이아웃을 사용하는 것은 미국의 국제 레이아웃을 사용하지 않는 한 적합하지 않기 때문이다.

이런 레이아웃은 ` (grave), ~ (tilde), ^, " (더블 인용부호,diaeresis 진행에 사용), ' (삐침표, 뾰족한 중음 발생에 사용) 키를 죽은 키로 바꾸어 중음 문자를 생성합니다. 따라서 ' (release) aá 발생할 것입니다.AltGr(Alt+Ctrl)를 수정자로 사용하여 미국 국제 버전에서도 특수 문자를 입력합니다.
그러나 이런 국제화 구조는 관건적인 단점이 하나 있다(적어도 Windows에서). 그것은 바로 죽은 키의 존재로 인해 프로그래밍 과정에서 이런 상황이 발생할 수 있다는 것이다.우리는 키가 아닌 두 개의 키를 눌러야 하기 때문에, 변음이나 중음, 그리고 끝 문자 (스페이스 바, 탭, 리턴 키) 를 눌러서 그것을 만들어야 한다.

So what can we do?


엔-US 레이아웃으로 돌아가서 변음이나 중음을 위한 사용자 정의 스크립트를 만듭니다.

맞춤형 솔루션


TLDR if you are not interested in the dirty aspects can jump directly to the


스페인어 발음 (내 모국어) 에 사용되는 스크립트 AutoHotKey 를 만드는 과정을 상세히 소개할 것입니다. 스크립트를 만들 필요가 있으면 예시로 사용할 수 있습니다.
  • 우선 다시 비추려는 중음áéíóúñ 자모와 기호¡¿를 식별하고 ASCII table에서 대응하는 십진수 값을 검색해야 합니다.
  • 타서 눌어붙는다
    12월
    타서 눌어붙는다
    12월
    á
    0225
    Á
    0193
    é
    0233
    É
    0201
    í
    0237
    Í
    0205
    ó
    0243
    Ó
    0211
    ú
    0250
    Ú
    0218
    ñ
    0241
    Ñ
    0209
    ¿
    0191
    ?
    63
    ¡
    0161
    !
    33
  • 다음에 우리는 그의 modifiers keys 주의 형식OriginKey::DestinationKey에 따라 모든 키를 필요한 목적지에 다시 비추어야 한다.
  • 타서 눌어붙는다
    수식어
    ^
    Ctrl 키
    !
    중고음
    +
    옮기다
    #
    승리를 거두다
    <
    왼쪽
    >
    라이트
  • 라는 스크립트 파일을 만들고 재매핑 설정을 추가합니다.
  • !a::Send {Asc 0225}    ; Alt+a -> á
    !+a::Send {Asc 0193}   ; Shift+Alt+a -> Á
    !d::Send {Asc 0233}    ; Alt+e -> é
    !+d::Send {Asc 0201}   ; Shift+Alt+e -> É
    !g::Send {Asc 0237}    ; Alt+i -> í
    !+g::Send {Asc 0205}   ; Shift+Alt+i -> Í
    !s::Send {Asc 0243}    ; Alt+o -> ó
    !+s::Send {Asc 0211}   ; Shift+Alt+o -> Ó
    !f::Send {Asc 0250}    ; Alt+u -> ú
    !+f::Send {Asc 0218}   ; Shift+Alt+u -> Ú
    !l::Send {Asc 0241}    ; Alt+n -> ñ
    !+l::Send {Asc 0209}   ; Shift+Alt+n -> Ñ
    

    It was easy!


    너무 빨리 하지 마, 친구야.우리는 최근에 단축키en-US_accents.ahk를 정의했지만 예를 들어 VScode도 같은 단축키로 주석을 전환했다.
    왼쪽 Alt를 수정기로 변경하여 모든Alt+Shift+A 맵을 Alt+Shift+에만 적용할 수 있도록 업데이트해야 합니다.(Right)Alt+Shift+변경!+수식자만 사용하면 됩니다.
    현재 VScode에서 >!+(Left)Alt+Shift+a 를 사용하여 (Right)Alt+Shift+a 를 작성할 수 있습니다.이것은 모든 Alt 수정기를 (오른쪽) Alt로 변환할지, 충돌이 있는 조합만 변환할지 여부에 달려 있다.
    !a:: Send {Asc 0225}    ; Alt+a -> á
    >!+a:: Send {Asc 0193}  ; Shift+(Right)Alt+a -> Á
    !e:: Send {Asc 0233}    ; Alt+e -> é
    >!+e:: Send {Asc 0201}  ; Shift+(Right)Alt+e -> É
    !i:: Send {Asc 0237}    ; Alt+i -> í
    >!+i:: Send {Asc 0205}  ; Shift+(RightAlt+i -> Í
    !o:: Send {Asc 0243}    ; Alt+o -> ó
    >!+o:: Send {Asc 0211}  ; Shift+(Right)Alt+o -> Ó
    !u:: Send {Asc 0250}    ; Alt+u -> ú
    >!+u:: Send {Asc 0218}  ; Shift+(Right)Alt+u -> Ú
    !n:: Send {Asc 0241}    ; Alt+n -> ñ
    >!+n:: Send {Asc 0209}  ; Shift+(Right)Alt+n -> Ñ
    

    Woohoo! Amazing!


    또한 스페인어에서는 느낌표와 물음표 기호가 처음에 열리고 마지막에 닫혀야 한다.
    !/:: Send {Asc 0191}{Asc 63}{left 1}    ; Alt+/ -> ¿?
    !1:: Send {Asc 0161}{Asc 33}{left 1}    ; Alt+1 -> ¡!
    

    마지막 두 가지는 또 다른 비결이 있다.열기 및 닫기 기호를 생성하고 Á 명령을 사용하여 커서를 이동합니다.

    초과의


    모자라면나는 또 다른 멋진 선택 가능한 기교가 있다.
    오른쪽에 숫자 키보드가 있는 키보드가 있다면Num Lock이 활성 상태일 때 기호와 함께 숫자 행을 직접 사용하지 않는 이유는 무엇입니까?
    #if GetKeyState("NumLock", "T")
        *1::!
        *2::@
        *3::#
        *4::$
        *5::Send `%
        *6::^
        *7::&
        *8::Send `*
        *9::(
        *0::)
        $+1::Send 1
        $+2::Send 2
        $+3::Send 3
        $+4::Send 4
        $+5::Send 5
        $+6::Send 6
        $+7::Send 7
        $+8::Send 8
        $+9::Send 9
        $+0::Send 0
    #if
    

    Those who use a Laptop or a TKL (Ten Key Less) keyboards can use Insert instead of NumLock or remove the if condition.

    {left 1}키를 몇 번 썼어요?개발자로서 결과를 Caps Lock로 다시 비추고 메인 줄에 직접 놓는 것이 더 유용하다.
    CapsLock::Backspace
    !CapsLock::CapsLock
    

    그러나 SQL 작성과 같은 경우에 Backspace 사용이 필요할 경우Caps Lock 사용/사용 안 함

    요약


    마지막으로, Qwerty를 떠나지 않고 호환되고, 빠르고, 신뢰할 수 있으며, 유용한 en-US 레이아웃 키보드를 개발할 것입니다.

    간단한 자동 바로 가기 키 스크립트 사용:
    #NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
    ; #Warn  ; Enable warnings to assist with detecting common errors.
    SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
    SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
    
    ; Modifiers
    ; ^ Ctrl
    ; ! Alt
    ; + Shift
    ; # Win
    ; < Left
    ; > Right
    
    ; Action
    CapsLock::Backspace
    !CapsLock::CapsLock     ; Alt+CapsLock -> Enable/Disable Caps Lock
    PrintScreen::Send #+s
    
    ; Accents
    !a:: Send {Asc 0225}    ; Alt+a -> á
    >!+a:: Send {Asc 0193}  ; Shift+(Right)Alt+a -> Á
    !e:: Send {Asc 0233}    ; Alt+e -> é
    >!+e:: Send {Asc 0201}  ; Shift+(Right)Alt+e -> É
    !i:: Send {Asc 0237}    ; Alt+i -> í
    >!+i:: Send {Asc 0205}  ; Shift+(RightAlt+i -> Í
    !o:: Send {Asc 0243}    ; Alt+o -> ó
    >!+o:: Send {Asc 0211}  ; Shift+(Right)Alt+o -> Ó
    !u:: Send {Asc 0250}    ; Alt+u -> ú
    >!+u:: Send {Asc 0218}  ; Shift+(Right)Alt+u -> Ú
    !n:: Send {Asc 0241}    ; Alt+n -> ñ
    >!+n:: Send {Asc 0209}  ; Shift+(Right)Alt+n -> Ñ
    
    ; Symbols
    !/:: Send {Asc 0191}{Asc 63}{left 1}    ; Alt+/ -> ¿?
    !1:: Send {Asc 0161}{Asc 33}{left 1}    ; Alt+1 -> ¡!
    
    ; Swap Numbers Row
    #if GetKeyState("NumLock", "T")
        *1::!
        *2::@
        *3::#
        *4::$
        *5::Send `%
        *6::^
        *7::&
        *8::Send `*
        *9::(
        *0::)
        $+1::Send 1
        $+2::Send 2
        $+3::Send 3
        $+4::Send 4
        $+5::Send 5
        $+6::Send 6
        $+7::Send 7
        $+8::Send 8
        $+9::Send 9
        $+0::Send 0
    #if
    
    나는 많은 키보드 레이아웃이 있다는 것을 안다. 예를 들면, 드워커, 콜마크, 워커만, 노먼 등이다.나는 그 중 한 쌍을 테스트해 보았는데, 나는 완벽한 포석이 그것들을 통솔할 수 없다고 확신한다.
    그러나 AutoHotkey로 변경을 제안함에 따라 Qwerty를 사용할 것이며, 다른 컴퓨터를 사용하거나 누군가가 컴퓨터를 사용할 필요가 없도록 많은 문제가 없을 것입니다.
    좋습니다. 우리의 수요와 취향에 따라 우리는 다양한 선택을 할 수 있습니다.당신이 당신에게 더 유리하다고 생각하는 것을 현명하게 선택하세요.
    마지막 외침.만약 당신이 소프트웨어 개발자라면 이런 JS/TS 조작부호를 사용하는 단축키도 매우 멋있어야 한다.


    자료 출처:
  • Wikipedia - Keyboard Layouts
  • Wikipedia - British and American Keyboards
  • 이 사람들만!
    즐거움 코드🖖

    좋은 웹페이지 즐겨찾기