요약
윈도와 맥은 키 이름부터 단축키, 커서 이동까지 키보드를 다루는 방식이 곳곳에서 다릅니다.
구글·미디엄·피그마에서 UX 디자이너로 일했고 키보드에 관한 책도 쓴 마르친 비하리가 블로그 'Unsung'에 정리한 글입니다. 여러 해 동안 겪은 두 운영체제의 키보드 차이를 참고 자료로 쓰도록 한곳에 모았습니다.
왜 중요한가
- 코드 하나로 두 운영체제를 함께 지원하는 웹 앱 개발자가 놓치기 쉬운 함정을 한눈에 확인할 수 있습니다.
- 단축키를 잘못 고르면 사용자가 특수 문자를 입력하지 못하거나 브라우저 기능과 부딪힐 수 있습니다.
핵심 내용
- 윈도의 Ctrl 역할을 맥에서는 Command(⌘)가 맡고, 맥의 Control은 터미널용 보조 키로 따로 남아 있습니다.
- 맥은 Option, 윈도는 AltGr과 조합해 특수 문자를 입력하므로 입력란 단축키에는 이 조합을 피하라고 권했습니다.
- 맥의 Page Up·Down과 Home·End는 커서를 두고 화면만 움직이고, Tab 키가 건너가는 대상도 다릅니다.
- 다시 실행은 ⌘⇧Z와 Ctrl+Y, 새로 고침은 ⌘R과 F5로 운영체제마다 관례가 갈립니다.
- 맥 브라우저는 ⌘Q, ⌘W, ⌘T 같은 단축키를 웹 앱이 가로채지 못하게 막습니다.
HN 반응
- 맥으로 옮기다 Command와 Control이 헷갈려 포기했다는 경험담과, 엄지로 누르는 Command가 편하고 터미널 단축키와도 안 겹친다는 반론이 맞섰습니다.
- 키보드 언어를 바꾸지 않고 Option 조합만으로 악센트 문자를 넣는 맥 방식이 낫다는 의견에, 윈도에도 미국-국제 배열이 있다는 보충이 붙었습니다.
정말 흥미롭고 빠짐없이 잘 정리한 글입니다.
저는 윈도나 맥은 거의 써 본 적 없지만 DOS는 (꽤 최근까지) 몇 년간 써 온 분을 돕고 있는데, XFCE4 데스크톱을 얹은 단순한 Debian Linux를 설치해 드렸습니다. 그런데 기본적인 컴퓨터 관용 동작을 하나하나 가르쳐야 했고 문서로도 많이 남겨야 했습니다. 복사, 잘라내기, 모두 선택, 붙여넣기에 쓰는 Control-C / X / A / V도 그렇지만, 더 기초적인 것도 있습니다. 화면에 포인터가 두 개 있다는 사실이 그렇습니다. 하나는 마우스용이고 하나는 키보드용이라서, 마우스 포인터를 특정 지점에 가져다 놓고 키보드를 눌러도 글자는 화살표가 있는 곳이 아니라 텍스트 커서가 있는 곳에 나타납니다.
특히 큰 고비는 탭이었습니다. 마닐라지 폴더를 몇 개 구해 와서 진짜 탭을 보여 드리고, 탭이 여러 개 열린 브라우저 옆에 대 보였더니 인터페이스가 무엇을 표현하려던 건지 갑자기 이해하셨습니다.
Control-A는 웹 페이지 전체를 선택하지만, 폼의 텍스트 입력란 안에 있을 때는 그 입력란 안의 내용만 선택합니다.
이런 내용을 작은 매뉴얼로 쓰기 시작했는데, 아직 거의 담지도 못했는데 금세 열두 쪽이 됐습니다.
이런 내용을 어느 정도라도 정리해 둔 곳을 아시는 분은 링크를 올려 주세요!
제 친구가 90년대에 (컴퓨터를 한 번도 써 본 적 없는 사람들을 대상으로) 컴퓨터 강좌를 한 적이 있습니다.
한번은 친구가 "마우스를 위로 올리세요"라고 했더니, 수강생 한 분이 정말로 마우스를 책상에서 번쩍 들어 올렸답니다. 컴퓨터에 익숙하지 않은 사람이라면 완벽하게 맞는 반응이죠.
저는 컴퓨터 사용 방식을 두고 "이게 당연하지 않나?" 싶을 때마다 이 일화를 떠올립니다.
저도 "이게 당연하지 않나?" 싶을 때마다 떠올리는 일이 있는데, 15년쯤 전에 엄마와 나눈 대화예요. 엄마가 전화를 하셨고, 안부를 주고받은 뒤에…
엄마는 절대 파워 유저가 아니지만, 이 대화를 나눌 때쯤엔 80년대 말부터 20년 넘게 매일 컴퓨터를 쓰신 분이었어요.
저는 이 작은 일화를 되도록 자주 떠올리려고 해요.
컴퓨터공학 석사 과정 때, 비전공자를 위한 C 프로그래밍 수료 과정에서 실습 조교로 자원해 달라는 요청을 받았습니다. 철학 박사 한 분이 프로그램이 컴파일되지 않는다고 하소연했는데, "exit(0)" 대신 "exist(0)"이라고 써 놓으셨더군요. 저는 이게 너무 흥미로웠습니다. 머릿속에 실존주의가 있으셨던 거겠죠? 프로그램이 더는 존재하지 않음으로써 종료되는 거니까요. 반박할 수가 없었습니다!
고쳐 드리고 다른 사람들을 둘러보러 갔습니다. 그 반에서는 은행 지점장님이 가장 잘하셨던 게 기억납니다. 한 바퀴 돌아 철학자 친구에게 돌아와 보니, 그분이 조용히 "exit()"를 다시 "exist()"로 바꿔 놓으셨고 프로그램은 또 컴파일되지 않았습니다! 이 일화는 지금도 머릿속에 남아 있습니다.
솔직히 exist(0)은 엄청 멋있게 들려요. 무슨 시스템 API로 있어야 할 것 같은데요.
Prolog에 딱 어울리겠네요. 프로그램이 존재하지 않음을 증명해서 종료시키는 거죠.
포스트록 디지코어/하이퍼팝 미드웨스트 이모 밴드 이름으로 아주 좋을 것 같네요.
나이 많은 분들이 한 번 클릭과 더블클릭을 언제 써야 하는지 어려워하셨던 게 기억납니다. 빠르게 두 번 클릭하는 것도 힘들어하셔서, 번번이 마우스를 홱 움직여 물건을 끌고 다니곤 했습니다. 예전 윈도에서는 인터페이스의 모든 부분이 드래그할 수 있고 반응도 해서 더 답답했을 겁니다. 그분들에게는 바탕화면에서 물건이 그냥 사라져 버리는 셈이었으니까요.
저희 여섯 살 아이도 더블클릭을 어려워해요.
그래서 한 번 클릭과 더블클릭을 쓰는 아이용 게임을 하게 해 주시는 거예요. 금방 손놀림이 늘 거예요.
제 경험상 ctl-tab으로 탭을 바꾸고, alt-tab으로 애플리케이션을 바꾸고, 애플리케이션에서 alt를 눌러 메뉴 이동용 한 글자 단축키를 띄우는 것 같은 간단한 명령 관용 동작을 보여 주면 학생들이 입을 떡 벌립니다.
저는 파일 폴더를 쓰고 탐색하는 법, Outlook에서 일정을 잡는 법 같은 기본적인 사용법을 일일이 가르쳐야 합니다. 학생들을 탓하지는 않습니다. 주로 브라우저 기반 클라우드 앱과 OS 개발자들의 탓이라고 봅니다.
덧붙입니다. ctl과 방향키로 단어 단위로 이동하는 것 같은 기본기도 포함입니다. 어릴 때부터 써 왔을 앱들에 이미 있는 기능인데도 말이죠. 노트북에서 fn 키로 기능키의 다른 기능에 접근하는 법과, fn-esc로 그 동작을 전체적으로 바꾸는 법은 말할 것도 없고요.
(초기였나?) Apollo 컴퓨터가 그렇게 동작했던 게 기억나요... 보여 주던 분이 미리 경고해 줬는데, 조금 뒤 제가 타자를 치는 중에 그분이 실수로 마우스를 건드렸어요! 글자가 사방에 흩어졌죠...
유닉스 장비에서 X 윈도가 자리 잡기 전 시대였던 걸로 알아요. SunTools가 그립네요. 단순하고 좋았는데.
마우스를 따라 포커스가 움직이는 방식은 X11 시대에도 있었어요. 우린 아직 X11 시대에 살고 있고 그 방식도 여전히 있고요. (-: IceWM 같은 X11 윈도 매니저가 완전히 사라지기 전까지는 계속 있을 거예요.
제가 보기엔 focus-follows-mouse(FFM)는 다른 거예요. FFM은 마우스 아래에 있는 창을 위로 올리지만 텍스트 삽입 위치까지 옮기지는 않거든요 (적어도 제가 써 본 기억이 있는 X와 윈도 두 곳에서는요). 그런데 Apollo의 윈도 매니저는 달랐어요. 마우스를 움직이면 삽입 위치도 같이 움직였죠.
그런데 "진짜" FFM에서는 마우스 아래의 창을 올릴 때 그 창에 키보드 포커스도 주고, 그러면 (쓰고 있는 GUI 툴킷을 통해) 가능하면 창 안의 어떤 위젯으로 키보드 포커스가 다시 넘어갑니다.
X Window에서는 동작이 전적으로 윈도 매니저에 달려 있고, 그 동작이 (a) 제각각이고 (b) 사용자가 마음대로 바꿀 수 있어서 일반화해서 말하는 건 불가능합니다.
저한테는 이게 트라우마예요. 집에서 쓸 컴퓨터를 맥으로 바꿔 보려다가 키보드 때문에 실패했어요. 폴란드어 발음 구별 기호(오른쪽 alt로 입력하는 것)를 쓰는 법이 처음엔 뻔히 보이지 않았거든요. 키보드 설정을 바꿔서 리눅스/윈도처럼 동작하게 할 수는 있었지만 어쩐지 그게 아니었어요. Control과 Command가 헷갈리는 악몽이 아직도 떠올라요. 저는 이것 때문에 그 플랫폼을 포기했고, 아이폰은 계속 쓰면서도 키보드 때문에 맥은 버린 사람도 몇 명 알아요.
한번은 남의 맥에서 LinkedIn 검색창에 "나 자신을 찾아보려고" 한 적이 있어요. "나도 이제 맥 사용자니까 할 수 있어!"라고 생각했는데, 브라우저 탭을 닫아 버리고 엉뚱한 프로그램 몇 개를 열고 말았죠.
이 플랫폼들 사이를 오가는 분들이 존경스러워요. 불가리아어처럼 자모 배열이 표준화되지 않은 언어(거기선 합의가 안 된 것 같더라고요)를 쓰는 분들은 더 그렇고요.
적응하는 데 한 달쯤 고생했습니다. 하지만 지금은 cmd가 ctrl보다 훨씬 논리적이라고 생각합니다. ctrl은 자주 쓰는 조합키를 누르려면 새끼손가락, 그러니까 홈 키에 놓인 손가락 하나를 포기하라고 요구합니다. 그런데 엄지는 윈도든 맥이든 어차피 스페이스와 조합키/수정키용으로 지정돼 있는 데다, 새끼손가락보다 훨씬 덜 중요한 손가락입니다. 그 결과 윈도에서는 ctrl-a, ctrl-z, ctrl-q 같은 걸 누르려면 두 손을 쓰거나 어색하게 움직여야 합니다. 맥에서는 같은 조합을 전부 한 손으로 누를 수 있습니다.
(대체로) OS 전체 단축키와 터미널 명령을 분리해 준다는 장점도 있어요. 복사는 언제나 "CMD-c"지, "보통은 CTRL-c인데 터미널에서는 CTRL-Shift-c예요, 안 그러면 터미널 제어 문자와 충돌하니까요" 같은 게 아니거든요.
"제대로 된" CUA 단축키는 터미널에서도 됩니다. (Ctrl/Shift-Ins)
바로 이거예요. 이래서 맥이 저한테는 납득이 가요.
저는 스페이스에만 엄지를 쓰는데, 제가 특별히 이상한 건가요?
저는 왼쪽 새끼손가락으로 왼쪽 ctrl이나 왼쪽 command를 누릅니다. 그러면 윈도의 ctrl+shift 조합에서는 왼쪽 약손가락이 자연스럽게 shift 위에 놓이는데, command+shift 조합에서는 보통 오른쪽 새끼손가락으로 오른쪽 shift를 누릅니다. 이 조합을 누르는 동안 키보드 오른쪽에 있는 키는 오른손이 계속 홈 로우에 있으니 평소처럼 누르면 되고, 왼쪽에 있는 키는 대개 왼쪽 검지로 누릅니다.
왼쪽 엄지로 왼쪽 command를 누르려고 하면 그 손을 홈 로우에서 완전히 떼는 방법밖에 없고, shift 조합이면 대부분의 키에 손이 닿지 않아 오른손도 홈 위치에서 떼야 합니다. 오른쪽 엄지로 오른쪽 command를 누르면 정반대로 같은 문제가 생깁니다. 나중에 눌러야 할 키에 따라 반대쪽 command를 골라 쓰면 될 것 같기도 하지만, 기억할 게 하나 더 늘어나고 어쨌든 전체적으로는 손이 더 많이 움직입니다.
지금까지 최소 수천만 번은 키를 쳤을 텐데, 조합키를 어떻게 누르는지는 제대로 생각해 본 적이 없다는 게 재밌네요.
예전에 계약직으로 여기저기 옮겨 다니던 시절에는 윈도와 맥을 자주 오가야 했습니다. 늘 걸리던 문제는 키 자체가 아니라 키의 위치였습니다.
맥에서 복사(Ctrl + C)나 붙여넣기(Ctrl + V) 같은 기본 동작을 하려면 ⌘ Command를 써야 합니다. 저는 손바닥을 살짝 내려서 새끼손가락을 자연스럽게 쉬게 두는 데 익숙했는데, ⌘ Command를 쓰려면 엄지를 써야 했고 그게 항상 어색하게 느껴졌습니다. 평생 윈도를 써 온 탓에 맥에서는 제대로 된 키 위에 있는지 매번 내려다봐야 했습니다.
몇 번 다시 적응해 보려 했지만 늘 너무 부자연스러워서, 지금은 말씀하신 분처럼 그냥 피합니다.
새끼손가락이 어떻게 Control 위에 자연스럽게 놓이나요? 새끼손가락은 A 위에 있어야죠. 엄지는 Space 위에 있으니까 Command로 옮기기도 쉽고요.
말씀하신 건 각도가 상당한데요. 애플이 Mac 인체공학 문서에서 하지 말라고 한 바로 그 동작, 엄지를 손바닥 밑으로 말아 넣게 하잖아요.
새끼손가락을 control에 자연스럽게 두는 건 꽤 쉬워요. 손가락 길이가 전부 같지는 않으니까요. 손을 가장 편하고 자연스러운 자세로 키보드에 내려놓으면 대부분의 손가락이 가운뎃줄과 shift 근처에 놓일 수 있어요. 거기서 힘을 뺀 손을 그냥 아래로 슬쩍 밀면 ctrl-c/v를 누르기에 완벽한 자세가 됩니다. 새끼손가락은 control, 검지는 x/c/v 위에요.
저는 그렇게 돼요! 사교적인 멀티플레이어 게임을 하면서 타자를 익혔는데 거기선 WASD+shift/ctrl을 자주 써서 그런 것 같아요. 지금도 왼손 기본 위치는 AWD에 새끼손가락은 ctrl, 엄지는 스페이스바예요.
인공적인 타자 테스트에서도 꾸준히 분당 140단어쯤 쳐요!
그렇긴 해도 윗글 쓴 분이 겪은 command 키 문제는 저는 없었어요. 평생 윈도를 썼고 작년 9월쯤부터 매일 맥북을 써야 했거든요. 약간 적응 구간이 있었지만, 한 달쯤 지나 강의를 듣다 보니 엄지로 누르는 cmd에 완전히 익숙해졌던 것 같아요.
저는 윈도에서도 ctrl+alt 명령을 자주 쓰는데 위치가 꽤 비슷해서 그런 것 같기도 해요. 요즘은 윈도와 맥을 같은 날 번갈아 쓰고, 맥OS에서 윈도로 원격 접속까지 해요. 그게 좀 엉망일 수 있는데도 워낙 자주 하다 보니 어떤 키를 눌러야 하는지 몸이 알아서 맞춰져요.
그때그때 달라요. 저는 답글 대상인 분은 아니지만 똑같이 해요. 타자를 칠 때는 새끼손가락이 A 근처에 있다가, 코딩할 때는 Ctrl로 내려가요. 이동 단축키를 쓰기가 거기서 더 빠르고, 타자를 치기보다 읽고 이동하는 일이 더 많으니까요.
결국 연습의 문제입니다.
저도 수십 년 전 처음 맥을 쓰기 시작했을 때(리눅스와 윈도 사용자였습니다) 똑같은 문제가 있었습니다. Cmd와 헷갈려서 기본적으로 Ctrl을 누르고, 발음 구별 기호 쓰는 법도 몰랐죠. 몇 주에서 두어 달 지나자 괜찮아졌습니다.
요즘은 윈도를 쓸 때 macOS의 발음 구별 기호 단축키가 몹시 아쉽습니다. 저는 게임용으로만 스웨덴어/영어 키보드를 단 윈도 PC를 갖고 있는데 가끔 포르투갈어로 써야 합니다. 키보드가 영어로 설정돼 있을 때 Win11에서 발음 구별 기호를 쓰는 법을 도통 모르겠고, 어떤 키보드 언어든 Option + [N | E | I | C](˜, ´, ˆ, ç)로 입력하는 macOS 방식이 훨씬 좋습니다. 그냥 됩니다. 윈도에서는 발음 구별 기호를 쉽게 쓰려면 키보드 언어 전체를 바꿔야 하고, 그런 단축키는 없습니다.
맞아요, 맥에서 최소 10년간 근육 기억을 훈련해 온 사람으로서, 제 메인 데스크톱이 마침내 최신 리눅스 배포판이 됐는데 ⌘ 단축키를 잊는 게 가장 힘들어요. 리눅스에서는 "복사/붙여넣기"가 어떤 때는 CTRL-C/V이고 어떤 때는 SHIFT-CTRL-C/V라서 (기타 치는 사람처럼 새끼손가락과 약손가락을 같이 놓아야 하죠). 터미널에서는 절대 CTRL-C/V가 아니고, 가끔은 정신 나간 단축키를 쓰는 애플리케이션도 있어요. macOS 시스템 전체와 서드파티 앱 전부가 따르던 보편적인 ⌘ 단축키가 좀 그리워요.
toshy를 써 보시길 권해요... 리눅스에서는 판도를 바꿔 놓는 물건이에요. 맥 키보드 단축키 거의 전부가 설치하자마자 동작하거든요. 가끔 거친 부분이 있긴 하지만 단축키에 관해서는 대체로 맥을 쓰는 느낌이에요. 원한다면 발음 구별 기호나 텍스트 상자의 emacs 단축키 같은 것까지 돼요.
아주 예전에 Microsoft Keyboard Layout Creator를 써서, 폴란드어 배열 위에 맥 방식으로 타이포그래피에 맞는 문장 부호를 입력하도록 만들었던 게 뚜렷이 기억납니다. 직접 커스텀 배열을 만들 수도 있었고요.
그런데 제가 아직 Windows 11을 쓸 때, 맥처럼 국제 발음 구별 기호를 입력하는 방식이 들어 있는 US 키보드 배열 변형이 시스템에 내장돼 있었던 걸로 기억합니다. 지금은 윈도 머신이 없지만 구글에서 잠깐 검색해 보니 United States – International이 찾으시는 것일 수 있습니다.