반응형
1. Keyboard package
1.1 사용한 패키지
Windows Keyboard를 제어할 목적으로 Python의 Keyboard 패키지를 사용하였다.
https://github.com/boppreh/keyboard
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 |