나는 pykeylogger을 사용하고 있으며 현재 키보드 레이아웃에 대한 정보를 추가하여 약간 확장하려고합니다. (지금은 US qwerty
이라고 가정하고 어떤 버튼을 눌렀는지 알 수 있습니다). Windows 시스템 그것이 들어Python의 * nix에서 키보드 레이아웃을 감지하십시오.
은 다음과 같습니다
def get_locale(self):
if os.name == 'nt':
w = user32.GetForegroundWindow()
tid = user32.GetWindowThreadProcessId(w, 0)
return hex(user32.GetKeyboardLayout(tid))
레이아웃의 16 진수 코드를 얻기 위해 (같은 0x409409) 나는 기본적으로 서로 하나의 레이아웃을 구별하기 원하는 나에게 좋은입니다.
당신이 나에게 POSIX (예를 들어 우분투) 시스템에 대한 해결책을 주시면 감사하겠습니다.
시도해주세요./etc/default/keyboard/' – DanielB
@DanielB 당신은/etc/default/keyboard에서 읽을 수 있으며 현재 응용 프로그램의 레이아웃에 초점을 맞출 수 있습니까? 나를 위해'sudo cat/etc/default/keyboard' 명령은 현재 레이아웃에 대해 동일한 내용을 반환합니다. – Meta