Tkinter에서 CAPS LOCK 키 상태 확인하기
Tkinter에서는 <Lock-KeyPress>와 <Lock-KeyRelease> 이벤트 바인딩을 활용하면 CAPS LOCK 키가 켜져 있는지(ON) 꺼져 있는지(OFF) 쉽게 확인할 수 있습니다.
아래 예제에서는 두 개의 사용자 정의 함수인 caps_lock_on()과 caps_lock_off()를 작성하여 Lock-KeyPress 및 Lock-KeyRelease 이벤트를 감지하고, 그 결과를 화면에 출력하는 방법을 살펴보겠습니다.
예제 코드
# 필요한 라이브러리 임포트
from tkinter import *
from tkinter import ttk
# Tkinter 프레임 인스턴스 생성
win = Tk()
# 윈도우 크기 설정
win.geometry("700x250")
win.title("CAPS Lock Status")
def caps_lock_on(e):
label_caps.config(text="CAPS Lock is ON")
def caps_lock_off(e):
label_caps.config(text="CAPS Lock is OFF")
label_caps = Label(win, font="Helvetica 15 bold")
label_caps.pack(pady=20)
# 키 입력 및 해제 이벤트 바인딩
win.bind("<Lock-KeyPress>", caps_lock_on)
win.bind("<Lock-KeyRelease>", caps_lock_off)
win.mainloop()코드 설명
caps_lock_on(e) 함수는 사용자가 CAPS LOCK 키를 눌렀을 때 호출되어 라벨의 텍스트를 "CAPS Lock is ON"으로 변경합니다. 반대로 caps_lock_off(e) 함수는 키 입력이 해제되었을 때 호출되어 라벨을 "CAPS Lock is OFF"로 업데이트합니다. win.bind() 메서드를 통해 각각의 키보드 이벤트와 함수를 연결하면, 메인 루프가 실행되는 동안 실시간으로 키 상태 변화를 감지할 수 있습니다.
실행 결과
프로그램을 실행한 후 사용자가 CAPS LOCK 키를 누르거나 해제하면, 윈도우에 현재 키 상태(ON 또는 OFF)가 실시간으로 표시됩니다.

