맥 단축키 새로 지정 또는 만들기

2019. 2. 23. 07:32

컴퓨터를 사용할 때 단축키를 잘 사용하면 정말 편리하다. 단축키가 모든 프로그램에서 동일하면 좋겠지만, 아쉽게도 프로그램마다 사용하는 단축키가 다른 경우가 많다. 그래서 여러 프로그램이나 맥을 사용하면 단축키가 헷갈릴 때가 많다.

오늘은 맥의 단축키를 새로 지정하거나 만드는 방법에 대해서 알아보도록 하겠다.


맥_단축키_지정



이전 포스팅에서 맥에서 윈도우용 기계식 키보드를 사용하기 위해, karabiner라는 프로그램을 사용하는 방법에 대해서 알아보았다. 자세한 내용은 아래 포스팅을 참조하기 바란다.

( 참조: 맥에서 윈도우 키보드 사용하기(1) - 한영전환, command키 바꾸기 )


윈도우용 기계식 키보드를 사용하기 위해 [ 환경설정 ]-[ 키보드 ]-[ 단축기탭]에서 한영전환의 단축키를 바꾸었다. 해당 메뉴에서 다른 단축키도 변경할 수 있지만, 변경할 수 있는 단축키가 한정돼 있다. 하지만, karabiner를 이용하면 거의 모든 단축키를 다 지정할 수 있다.


환경설정_키보드

( 환경설정 일부 단축키를 변경할 수 있다 )


karabiner로 거의 모든 단축키를 지정하기 위해서는 karabiner.json이라는 파일을 수정해야 한다. 이 파일을 찾기가 좀 어려운데, 맥의 경우에는 아래의 위치에 파일이 저장돼 있다.


/Users/open/.config/karabiner/karabiner.json


터미널창을 띄우고 'open /Users/open/.config/karabiner/karabiner.json'이라고 실행하면 해당 파일이 바로 열린다.



karabiner에서 단축키를 지정하는 방법은 from과 to로 되어 있다. from은 내가 입력한 키를 to는 어떤 키보드 입력으로 바꾸고 싶냐는 것이다. 즉, 입력한 키보드값을 다른 값으로 바꾸어 단축키를 변경해 주는 것이다. 필자가 사용하는 값을 하나씩 살펴보자.


1. home과 end바꾸기

윈도우에서는 home이나 end를 누르면 커서가 문장의 제일 앞이나 뒤로 간다. 하지만 맥에서는 다르게 작동한다. home과 end버튼을 윈도우처럼 작성하게 하기 위해서는 중간에 아래의 script를 삽입하면 된다.


                    {

                        "manipulators": [

                            {

                                "description": "home to left_arrow+command",

                                "from": {

                                    "key_code": "home"

                                },

                                "to": [

                                    {

                                        "key_code": "left_arrow",

                                        "modifiers": [

                                            "left_command"

                                        ]

                                    }

                                ],

                                "type": "basic"

                            }

                        ]

                    },                    



형식을 보면 대충 감을 잡을 수 있다. manipulators가 하나의 form, to를 지정하고 있다. description은 설명, from은 입력키, to는 아웃풋키이다. 이렇게 설정하고 나니, shift + home키는 작동하지 않는다. 그래서 shift + home도 별도로 설정했다. 키를 조합할 수 있기 때문에, modifiers나 option을 넣을 수 있다.


                    {

                        "description": "Shift + Home to Shift + Comand + Left_arrow",

                        "manipulators": [

                            {

                                "from": {

                                    "key_code": "home",

                                    "modifiers": {

                                        "mandatory": [

                                            "shift"

                                        ],

                                        "optional": [

                                            "caps_lock",

                                            "option"

                                        ]

                                    }

                                },

                                "to": [

                                    {

                                        "key_code": "left_arrow",

                                        "modifiers": [

                                            "left_command",

                                            "shift"

                                        ]

                                    }

                                ],

                                "type": "basic"

                            }

                        ]

                    },


동일한 방법으로 end키도 아래와 같이 지정해 보았다.


{

                        "manipulators": [

                            {

                                "description": "Changeend to right_arrow+command.",

                                "from": {

                                    "key_code": "end"

                                },

                                "to": [

                                    {

                                        "key_code": "right_arrow",

                                        "modifiers": [

                                            "left_command"

                                        ]

                                    }

                                ],

                                "type": "basic"

                            }

                        ]

                    },

                                        {

                        "description": "Shift + Home to Shift + Comand + right arrow",

                        "manipulators": [

                            {

                                "from": {

                                    "key_code": "end",

                                    "modifiers": {

                                        "mandatory": [

                                            "shift"

                                        ],

                                        "optional": [

                                            "caps_lock",

                                            "option"

                                        ]

                                    }

                                },

                                "to": [

                                    {

                                        "key_code": "right_arrow",

                                        "modifiers": [

                                            "left_command",

                                            "shift"

                                        ]

                                    }

                                ],

                                "type": "basic"

                            }

                        ]

                    }



2. 잠자기 버튼 바꾸기

필자는 윈도우 기계식 키보드를 맥에 연결해서 사용하고 있다. 그러다보니 맥북의 덮개를 열지 않고 사용할 때도 있다. 맥북은 사용하고 나면 덮게를 닫으면 잠자기 상태로 들어간다. 하지만, 필자는 키보드로 명시적으로 잠자기 명령을 내려줘야 한다. 맥에서 잠자기 단축키는 option + command + "전원" 또는 "꺼내기" 이다. 전원 버튼은 키보드에 없고, 꺼내기도 없다. 그래서 printscreen버튼은 꺼내기로 변경하였다.


꺼내기_버튼_지정


이제 'alt + command + PrtSc'를 누르면 맥이 잠자기 상태로 들어간다.



3. 캡쳐키 만들기

맥 키보드를 사용할 때는 캡쳐 단축키인 command + shift + 4 가 불편하지 않았는데, 윈도우에서는 조금 불편하다. 사용하지 않는 키들이 있으니 이 키를 캡쳐키로 사용하기로 하였다. 우측의 fn옆에 보면 Mode라고 쓰여있는 문서 모양의 키보드가 있다. 이 키를 이용하기로 하였다. 해당 키를 어떻게 입력해야 되는지 모른다며, karabiner EventViewer를 실행하면 된다. 해당 프로그램을 실행하고 키를 누르면 어떤 키인지 알려준다.


키보드_입력_확인

( 중간에 지금 어떤 키를 입력하고 있는지가 나온다 )


필자가 캡쳐키로 사용하는 키가 'application'키라는 것을 확인했다. 그래서 아래와 같이 application 키를 눌렀을 때 "shift + command + 4"의 키가 입력되도록 변경하였다.


                    {

                        "manipulators": [

                            {

                                "description": "application to capture",

                                "from": {

                                    "key_code": "application"

                                },

                                "to": [

                                    {

                                        "key_code": "4",

                                        "modifiers": [

                                            "right_command",

                                            "shift"

                                        ]

                                    }

                                ],

                                "type": "basic"

                            }

                        ]

                    },

                    {




4. 키보드별로 단축키를 설정하자

위와 같이 키보드를 바꾸고 나면, 윈도우 키보드를 사용할 때는 좋은데 맥북의 키보드를 사용할 때는 엉망이 된다. karabiner는 키보드별로 단축키를 별도로 설정할 수 있다. target device를 명시하면 된다. 아래와 같이 전체 키보드를 동일하게 변경할 수도 있고, 연결돼 있는 키보드별로 별로 지정도 가능하다.


키보드별_단축키_지정

( 키보드별로 단축키 지정이 가능하다 )



더 어려운 키보드나 복잡한 입력을 처리하고 싶다면, 아래 링크를 참조하여 karabiner홈페이지를 방문해보자.

( 참조: karabiner json 수정방법 안내 바로가기 )



오늘은 이렇게 맥의 단축키를 새로 지정하거나 만드는 방법에 대해서 알아보았다. 맥에서 기본적으로 제공하는 단축키 변경 기능이 있지만, 제한적이다. 하지만, karabiner라는 앱을 통해서 우리가 원하는 방법대로 단축키를 변경할 수 있었다. 키보드별로도 지정이 가능해 여러 개의 키보드를 별도 설정으로 사용하는 것도 가능하다.


맥은 파일 구조가 윈도우와 달라 관리가 어렵다. 맥의 파일을 효율적으로 관리하는 방법이 궁금하다면, 아래 포스팅을 참조해보자.
( 참조: 맥 하드용량관리 무료 프로그램, OmniDisksweeper 알아보기 )


댓글()
  1. jangu5000@naver.com 2019.08.19 01:05 댓글주소  수정/삭제  댓글쓰기

    안녕하세요. 키보드 변경 방법을 찾다가 도움을 받았습니다. 여쭤볼 것이 하나 있는데요.
    제 맥에서는 open /Users/open/.config/karabiner/karabiner.json 이 경로가 존재하지 않는다고 나오는데, 스팟라이트로 찾아봐도 해당 파일이 나오지 않네요. 혹시 변경 사항이 있는 것일까요?
    좋은 글 올려주셔서 감사합니다

    • Favicon of https://tariat.tistory.com BlogIcon 테리엇 2019.08.20 06:38 신고 댓글주소  수정/삭제

      폴더명 open이 다를 수도 있을 것 같습니다. User폴더 밑에 로그인하는 계정명의 폴더가 있을 겁니다. open을 그 폴더명으로 바꾸고 한 번 해보시겠어요?