Lumpy Space Princess - Adventure Time
기타

개발환경 세팅하기 - 기계식 키보드 편(3) : 윈도우용 기계식 키보드 맥과 호환하는 방법 (Karabiner)

yaebb_82 2022. 4. 13.

1. 엠스톤 그루브 T87A (mStone Groove T87A)

이전 글들에서 계속 언급했다시피, 최근 엠스톤 그루브 T87A로 기계식 키보드를 장만하게 되었다. 현재 나는 맥북을 사용하고 있는 상태이다. 하지만 이 키보드는 윈도우용 기계식 키보드이기 때문에 아무런 설정없이 맥과 완벽하게 호환된다고 볼 수 없다. 다행히도 키보드 자체에 Dip Switch가 있기 때문에, 2번을 올려주면 키보드 왼쪽의 맥북의 Command 역할을 하는 Window키와 맥북의 Option 역할을 하는 Alt키의 위치를 바꿔서 사용할 수는 있다. 이것만으로도 사실 맥과 같이 사용하는 데에는 크게 문제가 없지만, 좀 더 편하게 사용하기 위해서는 'Karabiner'라는 프로그램이 필요하다.

 

 

 

 

2. Karabiner (Karabiner-Elements) 프로그램 설치

Karabiner 다운로드 홈페이지 : https://karabiner-elements.pqrs.org/

위의 링크를 클릭해서 홈페이지에 들어가면 Karabiner를 다운로드 할 수 있다. 파란색 Download 버튼을 클릭해서 가장 최신 버전으로 다운 받으면 된다. (내가 다운받았을 때에는 버전이 14.4.0 이었다.)

 

 

 

다운받은 프로그램 파일을 클릭해서 위와 같이 설치를 해주면 된다. 설치가 끝나면 성공적으로 설치되었다는 문구가 뜬다.

 

 

 

설치가 끝나고, Launchpad에 들어가보면 이렇게 두 개가 설치되어있는 것을 볼 수 있다.

대강 설명을 해보자면, Karabiner-EventView의 경우 키보드를 눌렀을 때 해당 키가 어떤 키인지 보여주는 프로그램이고, Karabiner-Elements의 경우 윈도우용 키보드를 맥OS에 맞게 설정해주는 데에 꼭 필요한 프로그램이다.

 

 

 

먼저 Karabiner-Elements를 클릭해서 들어가면, 시스템 확장 프로그램이 차단되었다고 뜨게 된다.

보안 환경설정 열기 버튼을 누르고, '보안 및 개인 정보 보호 - 개인 정보 보호 - 입력 모니터링'순으로 들어가서 karabiner_grabber, karabiner_observer 두 개를 허용해주면 정상적으로 프로그램을 사용할 수 있다.

 

 

 

만약 저 두 가지를 허용 해줬는데도 실행이 되지 않을 수 있다. 그럴 경우, '보안 및 개인 정보 보호 - 일반'에 들어가보면 하단에 '응용 프로그램 '.Karabiner-Virtual~'의 시스템 소프트웨어가 차단되어 로드할 수 없습니다.' 라는 문구가 보인다. 해당 문구 옆에 허용 버튼을 눌러주면 잘 실행된다.

 

 

반응형

 

 

그리고 프로그램을 사용하기 전, 키보드 설정을 위해서 몇 가지 단계가 필요하다. 하라는 대로 하다보면 키보드 설정은 쉽게 할 수 있다. (마지막 단계에서 키보드 유형은 첫 번째 ANSI로 선택해주면 된다.)

 

 

 

디테일 하게 설정해주기 위해서 위의 메뉴들 중에서 Simple modifications / Function keys / Complex modifications 이렇게 3가지를 사용하면 된다. 이 부분도 대강 설명해보자면,

 

일단 먼저 Target device 같은 경우에는 해당 설정들을 적용할 범위를 지정해주는 것과 같다. 맥북 키보드도 같이 변경해줄 수 있고, 연결한 기계식 키보드만 바꿔줄 수도 있다. (여러가지가 존재하지만 나는 기계식 키보드만 설정해주면 되서 Gaming Keyboard를 클릭해서 지정해주었다.)

 

Simple modifications 같은 경우에는 내가 바꿀 키를 간단하게 바꿔줄 수 있다. 글씨 그대로 From key - To key : 어떤 키에서 어떤 키로 바꾸고 싶은지 를 지정해주면 된다. (잘못 설정했을 경우 Remove 키를 눌러 삭제해주면 된다.)

 

Function keys 같은 경우에는 F1 ~ F12에도 간단하게 원하는 키를 넣어줄 수 있다.

 

Complex modifications 같은 경우에는 좀 더 복잡하게 키를 설정해 줄 수 있다. 이전에는 해당 키를 다른 키로 바꾼다는 개념이라면, Complex modifications에서는 여러 키를 조합해서 원하는 키(기능)를 설정해줄 수 있다. (Add rule을 눌러서 추가할 수 있고, 온라인 상에서 import 해올 수도 있다.)

 

 

 

키를 설정해줄 때, 윈도우용 키보드에는 맥북 키보드에 없는 키들이 있다. 나같은 경우에는 Fn키(맥북의 fn키와 다름), Menu키, Insert키, Delete키, PrintScreen키 ... 등등 이 있었다. 해당 키들이 맥북 상에서 어떤 키들로 작동하고 있는지 알고 싶으면 Karabiner-EventViewer를 사용해주면 된다. 이것도 마찬가지로 허용을 해주면 정상적으로 사용할 수 있다.

 

 

 

Karabiner에서 모든 단축키를 설정할 수 있다고 보면 되는데, Karabiner 프로그램 내에서 해결하지 못하는 경우가 종종 있다. 이를 위해서는 불가피하게 karabiner.json 파일을 건드려야 하는데, 해당 json 파일은 terminal 창을 열어서 찾아서 사용하면 된다. (Karabiner를 설치했다면 karabiner.json 파일도 자동으로 다운로드 되어있다.)

 

터미널에 입력할 내용 : open /Users/mac/.config/karabiner/karabiner.json

내가 참고한 블로그에서는 open /Users/open/.config/karabiner/karabiner.json 이라고 입력하라고 되어있었다. 하지만 그대로 입력했는데도 불구하고 아무런 파일이 열리지 않아서 나는 위와 같이 입력했다.

 

 

나는 Xcode가 깔려있어서 그런지 별도로 추가로 설치해달라는 창이 떠서 Install 버튼을 눌러 설치해주었다.

 

 

그러면 이런 형식의 파일을 볼 수 있다. (해당 사진은 모든 설정을 마친 이후라 기존의 파일과는 조금 다를 수 있다.) 나는 Xcode가 깔려있었어서, Xcode 내에서 수정하고 저장하면 설정한 내용들이 바로 적용되는 것을 확인할 수 있었다.

 

 

 

3. 내가 설정한 Karabiner 단축키들

편하게 사용하기 위해 내가 설정한 단축키들을 소개해보고자 한다. 필요한 내용들은 json 파일에 붙여넣기 해서 사용하면 될 것 같다. (아래에 적은 순서는 From → To 순이다.)

 

 

1) F1 ~ F12에 지정해준 것들

  • F1  →  display_brightness_decrement (화면 밝기 줄이기)
  • F2  →  display_brightness_increment (화면 밝기 키우기)
  • F3  →  mission_control (미션 컨트롤)
  • F4  →  설정X
  • F5  →  새로고침 (밑에서 자세히 설명)
  • F6  →  rewind (되감기)
  • F7  →  play_or_pause (재생 및 일시정지)
  • F8  →  fast_forward (빨리감기)
  • F9  →  mute (음소거)
  • F10  →  volume_decrement (소리 줄이기)
  • F11  →  volume_increment (소리 키우기)
  • F12  →  설정X

 

 

2) 개별 키 설정

  • Menu키 (= 확인해보니 application키 라고 함)  →  keyboard_fn (맥북에서 fn키) : 맥북을 사용하면서 fn키를 누르면 이모티콘 및 기호 보기를 사용하게끔 자체적으로 설정해서 사용하고 있었기 때문에, 윈도우용 키보드에 맥북의 fn키가 없는 관계로 Menu키에 설정해주었다.

 

  • Pause/Break키 (키캡에는 Pau Brk 라고 써져있음)  →  power (맥북에서 전원 키) : 터치바가 있는 맥북을 사용 중인데, Control Strip 사용자화로 잠자기 버튼을 정말 잘 쓰고 있다. 하지만 기계식 키보드에는 잠자기 버튼이 없어서 꽤나 불편했는데 맥북 잠자기 단축키가 Option+Command+전원(power)이라고 해서, 이제는 Option+Command+전원(Pause/Break = power)를 눌러서 잠자기 모드를 실행시킨다.

 

 

3) 단축키 설정 (complex_modifications)

: 해당 코드는 json 파일 내부에서 'profiles - complex_modifications - rules' 안에 작성해주면 된다.

 

  • Print Screen키  →  화면 캡쳐(스크린샷 클립보드에 복사) : Control+Command+Shift+4
{
                        "description": "Print Screen to Control+Command+Shift+4",
                        "manipulators": [
                            {
                                "from": {
                                    "key_code": "print_screen"
                                },
                                "to": {
                                    "key_code": "4",
                                    "modifiers": [
                                        "right_control",
                                        "left_command",
                                        "left_shift"
                                    ]
                                },
                                "type": "basic"
                            }
                        ]
}

 

  • Window키(Command)+Print Screen키  →  화면 캡쳐(스크린샷 도구 보기) : Command+Shift+5
{
                        "description": "Command+Print Screen to Command+Shift+5",
                        "manipulators": [
                            {
                                "from": {
                                    "key_code": "print_screen",
                                    "modifiers": {
                                        "mandatory": [
                                            "command"
                                        ]
                                    }
                                },
                                "to": {
                                    "key_code": "5",
                                    "modifiers": [
                                        "left_command",
                                        "left_shift"
                                    ]
                                },
                                "type": "basic"
                            }
                        ]
}

 

  • F5키  →  새로고침 : Command+R
{
                        "description": "F5 => Cmd+r (Reload)",
                        "manipulators": [
                            {
                                "conditions": [
                                    {
                                        "bundle_identifiers": [
                                            "^com\\.microsoft\\.rdc$",
                                            "^com\\.microsoft\\.rdc\\.mac$",
                                            "^com\\.microsoft\\.rdc\\.macos$",
                                            "^com\\.microsoft\\.rdc\\.osx\\.beta$",
                                            "^net\\.sf\\.cord$",
                                            "^com\\.thinomenon\\.RemoteDesktopConnection$",
                                            "^com\\.itap-mobile\\.qmote$",
                                            "^com\\.nulana\\.remotixmac$",
                                            "^com\\.p5sys\\.jump\\.mac\\.viewer$",
                                            "^com\\.p5sys\\.jump\\.mac\\.viewer\\.web$",
                                            "^com\\.teamviewer\\.TeamViewer$",
                                            "^com\\.vmware\\.horizon$",
                                            "^com\\.2X\\.Client\\.Mac$",
                                            "^com\\.vmware\\.fusion$",
                                            "^com\\.vmware\\.horizon$",
                                            "^com\\.vmware\\.view$",
                                            "^com\\.parallels\\.desktop$",
                                            "^com\\.parallels\\.vm$",
                                            "^com\\.parallels\\.desktop\\.console$",
                                            "^org\\.virtualbox\\.app\\.VirtualBoxVM$",
                                            "^com\\.citrix\\.XenAppViewer$",
                                            "^com\\.vmware\\.proxyApp\\.",
                                            "^com\\.parallels\\.winapp\\.",
                                            "^org\\.macports\\.X11$",
                                            "^com\\.apple\\.Terminal$",
                                            "^com\\.googlecode\\.iterm2$",
                                            "^co\\.zeit\\.hyperterm$",
                                            "^co\\.zeit\\.hyper$",
                                            "^io\\.alacritty$",
                                            "^net\\.kovidgoyal\\.kitty$",
                                            "^tv\\.parsec\\.www$"
                                        ],
                                        "type": "frontmost_application_unless"
                                    }
                                ],
                                "from": {
                                    "key_code": "f5",
                                    "modifiers": {
                                        "optional": [
                                            "any"
                                        ]
                                    }
                                },
                                "to": [
                                    {
                                        "key_code": "r",
                                        "modifiers": [
                                            "left_command"
                                        ]
                                    }
                                ],
                                "type": "basic"
                            }
                        ]
}

 

 

더 많은 단축키들을 설정하고 싶은데, 어떻게 작성해야할 지 모를 때에는 'Import more rules from the Internet(open a web browser)' 버튼을 클릭해서 해당 웹 사이트를 참고하는 것이 좋다. (해당 웹사이트의 검색 창에 원하는 기능의 키워드를 적는 것도 좋은 방법)

Import more rules from the Internet (웹 사이트) : https://ke-complex-modifications.pqrs.org/?q=#modifier-keys

 

 

 

이렇게 기계식 키보드 구매부터 세팅까지 해보았다. Karabiner만 있으면 맥OS에 맞춰 윈도우용 기계식 키보드를 원하는대로 커스텀할 수 있어서 좋은 것 같다. 혹시나 윈도우용 기계식 키보드를 구매했는데 맥과 호환이 안된다며 좌절하는 사람들이 있다면, 이 글이 조금이라도 도움이 되었으면 좋겠다.

 

 

반응형

댓글