JIS 키보드도 Ergodox로 하고 싶어요.
처음 뵙겠습니다.이 기사는 어떻게든 JIS 환경에서 에고독스를 사용하려는 사람들이 "JIS 배열과 US 배열의 차이를 흡수하는 매크로를 만들면 되지 않겠느냐"며 머리 파일을 만들기 전의 사고 과정을 공개했다.다운로드개발자의git 창고, 자신이 할 수 있는 사람
make
을 대상으로 쓴다.이 기사를 통해 JIS 키보드 사용자에 대한 문턱을 조금 낮출 수 있다면 좋겠다.데스크톱 상태
위에는 나의 Ergodox 환경이다.Ergodox EZ를 구매한 후 F, J 키를 돌기가 있는 것으로 변경합니다.보시다시피 JIS는 Ergodox에 연결하기 위해 기본 노트북에 배열되어 있습니다.
나 같은 사용자는 Ergodox를 사용하기 시작한 지 얼마 되지 않아 큰 문제에 시달릴 것이다.
각인과 입력이 일치하지 않습니다!
OS에서 연결된 키보드가 JIS 배열인 줄 알고 EUS 키보드를 사용하면 각인과 입력이 맞지 않는 번거로운 현상이 발생할 수 있다.예를 들어, "@"을 입력하고 싶은데 "["을, "="을 입력하고 싶은데 "을"를 입력합니다.(참조: http://www.nagasaki-gaigo.ac.jp/toguchi/pc/multilingual/keyboard_us_jis.htm
이는 에르고독스가 구상한 사용자 층의 US 키보드가 일본인들에게 익숙한 JIS 키보드와 문자 배분이 달라 발생한 문제다.나는 해결할 수 있는 어떤 방법이 있는지 생각해 보았다.
시나리오 1. OS 키보드 종류 수정
운영체제가 키보드의 종류를 잘못 알았기 때문에 정확한 키보드를 알려주면 된다.참고http://freesoft.tvbok.com/win10/tips/keyboard.html 등 키보드 설정을 변경하면 입력이 틀리지 않습니다.
하지만 나는 JIS 키보드에 익숙해져서 20년 동안 성장했다.이 축적을 무시할 수 없다.그리고 이번에는 설치된 JIS 키보드를 사용할 수 없을 것으로 보인다.
다른 방법을 생각해 보세요.
솔루션 2. 무료 소프트웨어 솔루션 사용
Windows의 경우 DvorakJ와 같은 무료 소프트웨어를 사용하면 키보드에 따라 사용 순서를 바꾸는 요구를 충족시킬 수 있다.
DvorakJ는 Windows XP, Windows Vista, Windows 7, Windows 8에서 실행되는 휴대용 키 매핑 소프트웨어입니다.당초 DvorakJP와 고속타자 JLOD 배열(Japanese Layout on Dvorak) 등 Dvorak 배열을 위한 파생 변환으로 현재는 다양한 키보드 레이아웃에 대응하고 있다.
맥이면 카나비라가 가까워요?그렇다고 해결될 수도 있다.
그러나 Ergodox 사용자의 전제를 잊어서는 안 됩니다.이렇게 유연한 키보드를 사용하는 것은 외부 소프트웨어에 의존하는 것이 본말이 전도된 것이라고 할 수 있다.어떻게든 Ergodox 안에서 완성할게요.
방안3. US-JIS 키보드의 차이 이해
각인과 입력이 일치하지 않습니다!깊이 파고들자.기본적으로
keymap.c
키보드에 새겨진 "["의 위치는 KC_LBRC
로 기록됩니다. 물론 "]"의 위치는 KC_RBRC
입니다.각각 left-bracket과 r-bracket의 약칭이죠.키를 실제로 입력하면 JIS 환경에서KC_LBRC->"@"キー
KC_RBRC->"["キー
구문을 생성합니다.이렇게 KC.XXX를 실제 입력과 연결하면 JIS 환경에서도 사용할 수 있습니다.다만 에르고독스를 완결시키려고 지금까지의 목표도 달성했다.그러나 이 방법은 좀 보수적이지 않다.
"KC QUOT는 JIS 키보드입니다""키야""^"등 키맵.c에 KC EQL을 쓸 때마다 번거롭습니다.
또 이 방법은 도저히 입력할 수 없는 키가 실제로 존재한다.바로'수'키입니다.번호로는 0x87
KC_INT1
근처에 존재하지만 일반적으로 찾을 수 없습니다.정답: JIS로 키 코드 재정의!
앞서 조사한 결과 JIS 배열과 US 배열의 차이는 정의된 키 코드의 편차로 인한 것으로 밝혀졌다.이 차이는 컴퓨터로 흡수할 수 없나요?괜찮겠지!
정의홍
확인
keycode.h
후 우리keymap.c
가 사용한 KC나는 HOGE가 모두 거기에서 정의한 매크로를 안다.우리도 같은 일을 했으면 좋겠다.방안의 셋째, 찾은 핵심 코드를 매크로에 반영합니다.#define JIS_ATMK KC_LBRC
볼 수 있는 곳에 '@' 을 입력하십시오 JIS_ATMK
.바퀴의 재생산이 좋지 않다
JIS 배열로 사용하고 싶은 사용자 전원이 위에 있는 일을 하면 분명히 쓸모가 없어요.Ergodox의 향상된 생산성을 낭비해서는 안 됩니다.한 사람이 조사하면 전체 인원이 공유할 수 있을 것이다.
그래서 나는 필요한 부분을 헤더 파일로 정의했다.
sugarAsalt/keymap_JIS
이 정의를 사용하려면 Ergodox 사용자인 경우
qmk_firmware/keyboards/ergodox/
이하ergodox.h
또는 ergodox.c
에 자신의 keymap.c
의 첫머리에 #include "keymap_JIS.h"
를 쓰십시오.겸사겸사 내 열쇠 지도도 올렸어.회사에서는 맥, 집에서는 윈도우즈의 이중생활이기 때문에 어느 것이든 똑같은 사용감으로 조정할 수 있다.
졸문이 실례가 되었습니다.특히 혼란을 야기하는 기호류는 기술한 글의 전부라고 생각하고 부족한 점이 있으면 알려주시면 수정하겠습니다.
어디혹시 펌웨어에 딸린 Docker file 사용법 가르쳐주실 분 계세요?
Reference
이 문제에 관하여(JIS 키보드도 Ergodox로 하고 싶어요.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/sugarAsalt/items/df46c86804f98da556cc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)