Python keboard, Python keyboard library, Python Keyboard module, Python Keyboard Package, Python keyboard 한영, Python 키보드, 파이썬 키보드, 파이썬 키보드 라이브러리, 파이썬 키보드 모듈, 파이썬 키보드 한영키
반응형
1. Keyboard package
1.1 사용한 패키지
Windows Keyboard를 제어할 목적으로 Python의 Keyboard 패키지를 사용하였다.
https://github.com/boppreh/keyboard
boppreh/keyboard
Hook and simulate global keyboard events on Windows and Linux. - boppreh/keyboard
github.com
1.2 사용목적
한 손으로 사용하기 힘든 단축키를 한손으로만 사용하기 위해 Keyboard Pacakge에서의 Hotkey를 사용하였다.
예를 들어, 윈도우 데스크톱 이동 명령어인 ctrl+window key+left or right 는 한손으로는 무리가 가기 때문에 이를 위해 아래와 같이 작성하여, 한손으로 사용하고자 하였다.
import keyboard
def main():
keyboard.add_hotkey('cmd+z', lambda: keyboard.press_and_release('ctrl+cmd+left'))
keyboard.add_hotkey('cmd+c', lambda: keyboard.press_and_release('ctrl+cmd+right'))
keyboard.wait()
if __name__== '__main__':
main()
2. 문제
2.1 Keyboard Package 한/영키 문제
사용 중에 가끔 먹통이 되는 이유가 있었는 데, 원인을 파악해 보니 한/영키 문제 였다.
2.2 해결
한/영키를 누를 경우 Keyboard에 hangeul 이라는 것이 늘 따라 붙게 된다. 따라서 앞에 hangeul이라는 것을 붙이면 해결된다. 아래는 해결한 코드이다.
import keyboard
def main():
keyboard.add_hotkey('cmd+z', lambda: keyboard.press_and_release('ctrl+cmd+left'))
keyboard.add_hotkey('hangeul+cmd+z', lambda: keyboard.press_and_release('ctrl+cmd+left')) # hangeul 붙임
keyboard.add_hotkey('cmd+c', lambda: keyboard.press_and_release('ctrl+cmd+right'))
keyboard.add_hotkey('hangeul+cmd+c', lambda: keyboard.press_and_release('ctrl+cmd+right')) # hangeul 붙임
keyboard.wait()
if __name__== '__main__':
main()
이렇게 한/영키를 통해 먹통이 되는 Keyboad Pacakge를 앞에 hangeul 이라는 단어를 붙여 해결 할 수 있다.
반응형
'Develop > Python' 카테고리의 다른 글
Python Package Nexus Upload (whl 파일, Offline 환경) (0) | 2023.04.27 |
---|---|
여러 파일 및 폴더 한번에 실행하는 프로그램 (0) | 2022.02.06 |
AWS Python Lambda (CloudWatch Lambda) 사용하기 (0) | 2018.11.16 |
Python Slack Lunch Bot - 점심 알리미 봇 (2) | 2018.11.08 |
Python Sqlite3 Parameterized Query - '?' (매개변수쿼리) (0) | 2018.11.05 |