Page 34 - 파이썬으로 배우는 컴퓨팅사고 도서 미리보기
P. 34

CHAPTER 9? 기술(Technology)  205

               함수                                  기능                 인수
onkey(f, key)             키를 누르는 띄는 이벤트 처리
onkeypress(f, key)        키를 누르고 있는 이벤트 처리             f: 콜백 함수
onkeyrelease(f, key)      누르고 있던 키를 놓는 이벤트 처리          key: 키 이름(예:"a")

키 이름(key name)은 키보드의 각 키에 이름을 부여한 것이며, 대표적인 키 이름들은 다
음과 같다. 보다 더 다양한 키 이름들은 ‘부록 A.4 파이썬 키보드 키 이름’을 참고하거나,
http://www.tcl.tk/man/tcl8.4/TkCmd/keysyms.htm, http://infohost.nmt.edu/tcc/
help/pubs/tkinter/web/key-names.html 페이지를 참고하기 바란다.

  키  키 이름                        키     키 이름                   키     키 이름
     space                        ,   comma            오른쪽 방향키       Right
1~0   1~0                         .    period                        Return
a~z   a~z                        ;   semicolon              Enter     Tab
     dollar                      :      colon                Tab   Control_L
  $   plus                 위로 방향키                         왼쪽 Ctrl  Control_R
  +  minus                아래로 방향키        Up             오른쪽 Ctrl    Shift_L
  -   slash                왼쪽 방향키      Down              왼쪽 Shift   Shift_R
  /                                      Left           오른쪽 Shift

위의 세 함수들을 이용하여 “a” 키에 대한 각각의 키보드 이벤트를 처리하는 예제는 다
음과 같다. 실행 결과의 “aas_s_s_s^”에서 onkey() 함수에 의해서 “aa”가 출력이 되었고,
onkeypress() 함수에 의해서 “s_s_s_”, onkeyrelease() 함수에 의해서 “s^”가 출력이 되었다.

import turtle as t

def print_key(char):
     print(char, end=””)

def key_a():
     print_key(“a”)

def key_sp():
     print_key(“s_”)

def key_sr():
     print_key(“s^”)
   29   30   31   32   33   34   35   36   37   38   39