내 첫 번째 VIAL 지원 키보드인 M0110를 사용하며 VIAL의 유용함에 눈을 떠 버린 나는 기존에 있던 키보드들이 모두 VIAL을 지원하지 않는다는 것이 안타까웠다. 그렇다고 지금까지 모은 키보드들을 모두 처분하고 VIAL을 지원하는 키보드로 바꾸기는 아깝기도 하고, VIAL을 지원하는 키보드도 그렇게까지 많은 것 같지는 않았다. 여러 고민을 하다가 Easylink VIAL adapter를 찾았다.

우선 이 물건이 뭐하는 물건인지부터 설명해야겠다. 우리가 키보드의 키를 누르면 이를 키보드의 MCU가 감지할 수 있다. 그럼 MCU는 키보드에 설치된 펌웨어를 따라 이 신호를 컴퓨터에 뭐라 전달해줘야 할지를 판단하고 (가령 내가 Q를 눌렀더라도, VIA나 전용 펌웨어 등으로 이 키를 W로 바꿨다면 MCU는 내가 누른 Q 키를 {KC_W}로 보낼 것이다. Easylink는 그냥 USB In/Out 포트 하나씩에 MCU가 달려있는 물건으로, 이를 키보드와 컴퓨터 사이에 연결해주면 방금 발생한 {KC_W} 신호를 Easylink의 MCU (VIAL이 올려져 있는)를 한차례 더 거치게 하여 컴퓨터로 전달해주는 것이다.

Easylink를 장착하고 VIAL을 켜 보면, Easylink의 MCU는 스스로를 (계산기 등등의 추가키가 있는) 풀배열 키보드로 인식하고 있음을 알 수 있다. VIAL에서 Easylink의 W 키에 다른 키를 할당한다는 것은 키보드에서 Easylink로 {KC_W} 코드가 흘러들어 왔을 때 이를 컴퓨터에는 어떤 신호로 보내줄지를 정의해주는 것이며, 추가적인 기능으로 Easylink 자체에 키맵 레이어나 매크로, 탭댄스 및 콤보 등을 저장하여 사용할 수 있다. 그럼 당연한 주의사항은

  • 키보드의 MCU에서 처리하는 일들, 가령 블루투스 연결이나 RGB 단축키 등은 Easylink의 VIAL 설정해봐야 아무런 의미가 없다.
  • 만일 기존 키보드에서 이미 키맵 레이어를 사용하고 있다면, 가령 레이어 키를 기존 키보드와 Easylink 모두에서 Fn+Tab로 설정했을 때 기존 키보드의 MCU가 이 명령을 먼저 받아 키맵 레이어를 바꿀 것이므로 Easylink의 키맵은 그대로, 키보드의 키맵이 바뀌는 형태가 될 것이다.

등등…

VIAL 세팅

겸사겸사 내 VIAL 세팅을 (맥 레이어 기준으로) 소개해보려 한다. 우선 나는 Automator의 빠른동작으로 caffeinate, quiver, Jekyll, update_disabler, new_document를 만들어서 사용하고 있다. caffeinate는 당연히 터미널에서 caffeinate를 실행하여 맥이 절전모드로 가지 않도록 해 주는 것이고, quiver는 내 로컬에 깔려있는 q.uiver를 실행하는 것이다. Jekyll은 내가 블로그를 쓸 때 사용하는 것으로, Jekyll을 실행하고 내 블로그 로컬 레포지토리를 열고 localhost:4000을 여는 등의 역할을 수행한다. update_disabler는 스터디카페에 있는 작업용 맥북으로, 연식이 있다보니 Monterey를 깔아줬는데 계속 Sonoma로 업데이트 하라는 게 짜증나서 만들었다. new_document는 말 그대로 새로운 파일을 만드는 단축어이다. 이들은 모두 mac에서 Ctrl+Cmd+Shift+(C,Q,J,U,N)으로 정의되어 있으며, VIAL에서는 이는 굳이 매크로를 쓸 필요 없이 Any키로 처리해버리면 된다.

그 외에 내가 많이 사용하는 기능은 콤보 기능으로, 특정 키 조합을 누르면 특정 매크로가 실행되도록 해 두었다. 그 목록은 총 16개로 다음과 같다.

여기에서 Sublime Text의 snippet을 이용하는 경우에는 또 snippet의 scope를 이용하면 ㄴ유용한데, 가령 e+q+\의 경우, Jekyll에서는 \begin{equation*}...\end{equation*} 대신 $$...$$를 사용하므로 .md 파일에서는 $$...$$로, .tex 환경에서는 \begin{equation*}...\end{equation*}로 작동하도록 scope를 설정해주면 된다.

그 외 auto-shift 기능은 탭댄스처럼 특정 키를 길게 누르면 그 키에 Shift가 적용된 키코드를 보내는 기능으로, 특히 미니배열에서는 꽤 유용해서 나는 이를 알파열을 제외하고는 모두 켜 줬다. 생각보다 탭댄스는 잘 이용하지 않는데, 이를 사용할 더 좋은 방법은 없는지 고민중이다.

댓글남기기