GUI를 설계할 경우, 마우스를 사용하지 않으면서 키보드로 조작하는 기능을 숙련자에게 제공해야 할 필요가 있습니다. ALT 키나 CTRL 키를 누르면서 다른 키를 누르는 경우로써, Windows는 하나의 목적에 여러 개의 단축키가 존재하는 경우가 있습니다.
일반적인 단축키
Windows 편집계열 프로그램의 단축키를 정리해 보았습니다.
목적 | 키 | 그 밖의 키 |
---|---|---|
원래대로 되돌리기 | Ctrl+Z | Alt + Backspace |
전으로 되돌리기 | Ctrl+Y | |
반복 | Ctrl+Y | F4키와 Alt+Enter로 사용가능하며, Word, Excel 등에서 쓰여짐 |
잘라내기 | Ctrl+X | Shift+Delete로 사용가능. 익스플로어에서는 선택한 항목을 휴지통을 거치지 않고 완전삭제 |
복사 | Ctrl+C | Ctrl+Insert로 사용가능 |
붙이기 | Ctrl+V | Shift+Insert로 사용가능 |
삭제 | Delete | |
검색 | Ctrl+F | |
다음 검색 | F3 | |
치환 | Ctrl+H | |
행으로 이동 | Ctrl+G | Word나 Excel에서는 F5도 사용가능 |
전부 선택 | Ctrl+A | Word는 Ctrl+Num / 로 사용가능 |
Tcl의 가상 이벤트
Tcl에서는 여러개의 단축키를 가상이벤트로 정의할 수 있습니다. 기본으로 정의되어 있는 가상 이벤트는 다음과 같습니다. (Tcl/Tk 8.4 기준)
# Windows의 경우
% event info
<<PasteSelection>> <<Paste>> <<Copy>> <<PrevWindow>> <<Redo>> <<Undo>> <<Cut>>
% event info <<PasteSelection>>
<ButtonRelease-2>
% event info <<Paste>>
<Control-Key-v> <Shift-Key-Insert>
% event info <<Copy>>
<Control-Key-c> <Control-Key-Insert>
% event info <<PrevWindow>>
<Shift-Key-Tab>
% event info <<Redo>>
<Control-Key-y>
% event info <<Undo>>
<Control-Key-z>
% event info <<Cut>>
<Control-Key-x> <Shift-Key-Delete>
가상 이벤트는 새로 작성하는 것도 가능하지만, 기존의 가상 이벤트에 추가하는 것도 가능합니다. 아래는 가상 이벤트 >에 ESC키를 추가한 예제입니다.
# 추가
% event add <<Undo>> <Escape>
# 확인
% event info <<Undo>>
<Control-Key-z> <Key-Escape>
가상 이벤트는 바인드(bind) 로도 사용할수 있습니다. 가상 이벤트를 사용한다면 바인드를 사용함에 있어 편리 해질 것이며, 보기도 쉬워질 것입니다.
bind . <<Undo>> {}