Tk의 단축키(Shortcut key)

admin의 아바타

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>> {}