문제

그러한 기본적인 질문을 위해서, 나는 찾을 수 없었습니다.

어쨌든, 나는 특정 DSiware 게임의 퍼즐을 해결하는 데 도움이되는 파이썬에서 저주 앱을 만들었습니다.그것으로 퍼즐을 가져 와서 그것의 구성 요소를 개별적으로 검사 할 수 있습니다.키 qweasdzx는 타일을 페인트하는 데 사용됩니다 (키는 일종의 팔레트로 배열됩니다).Shift를 보유하는 동안이 키 중 하나를 누르면 해당 색상이있는 타일이 강조 표시됩니다.나는 더 자연스러운 통제 계획을 요구할 수 없었다.

그래서 그것은 다시 한번, 다시 한번 교대가 나에게 문제를주는 것입니다 (마지막으로 나는 교대로 문제가 있었고, 나는 tumbleweed 배지를 얻었습니다).이번에는 문제가 더 많거나 적은 모자 잠금이며 기능을 역전시켜 프로그램을 완전히 늘리십시오.

어떻게 python으로 캡 잠금 상태를 저주와 함께 감지 할 수 있습니까?

편집 : 별도의 모듈을 사용하여 제안 할 것인 경우, 저주는 저주를 상기시켜야합니다. 따라서 프로그램은 UNIX 영토에 있습니다.

도움이 되었습니까?

해결책

나는 내 자신의 해결책을 발견했다.

저주는 τζωτζιου에 따라 캡 잠금 설정을 완전히 알지 못하고 대체 솔루션을 시도했습니다. 특히, Bash 스크립트에서 캡 잠금을 확인하는 방법을 살펴 봤습니다. 내가 발견 한 것 :

Linux 전용. X 윈도우 시스템이 필요합니다.

$ xset q | grep LED
>  auto repeat:  on    key click percent:  0    LED mask:  00000000
.

해당 출력 (문자열의 66 번째 문자)은 캡 잠금 플래그입니다. 1 켜져 있으면 0이면 0이면

파이썬은 Linux 전용 명령 모듈. 명령은 저주를 방해하지 않는 것으로 보입니다.

>>> import commands
>>> # Caps Lock is off.
>>> commands.getoutput("xset q | grep LED")[65]
'0'
>>> # Setting Caps Lock on now.
>>> commands.getoutput("xset q | grep LED")[65]
'1'
.

이것은 나를 위해 잘 작동합니다. 이것은 개인용 스크립트이며 프로그램이 아직 Linux-Explusive가 아니었던 것과 같지 않습니다. 그러나 나는 누군가가 다른 Windows 호환 솔루션을 가지고 있기를 바랍니다.

나는이 자명 해답을 받아 들일 것입니다. 그러나 다른 사람이 더 나은 작업 해결책을 올릴 수 있다면, 나는 그것을보고 싶습니다.

다른 팁

짧은 대답 : 당신은 할 수 없습니다.

더 긴 대답 :

저주는 사용 된 터미널 (generacododicetagode)과 독립적 인 문자 기반 UI 생성을 용이하게하는 Terminfo 기반 라이브러리로 작성되었습니다.

이 터미널은 직렬 줄을 통해 연결되고 호스트는 일반 텍스트 (사용자가 입력하거나 호스트에 의한 출력) 또는 특수 시퀀스 ( "이스케이프"시퀀스)를 통해 이루어졌습니다. 특수 키를 또는 prev 와 같이 눌렀거나, 커서 위치 또는 스크린 클리어와 같은 특수 작업이 요구됨에 따라 호스트에 의해 출력되었다).

CAPS LOCK 키가 우울할 때마다 특별한 순서를 보내거나 캡 잠금 상태에 대한 호스트를 쿼리 할 때마다 특별한 시퀀스를 전송하는 흠집을 알지 못합니다. 잠금 자물쇠는 터미널의 작업의 일부 였고 호스트는 어떤 지식을 필요로하지 않았습니다. 이것은 제어 키가 자체적으로 우울할 때 저주 프로그램을 가질 수없는 이유와 유사합니다.

저주에 관한 모든 것이 href="http://invisible-island.net/ncurses/man/terminfo.5.html" Rel="nofollow noreferrer"> Terminfo 능력에 관련됩니다. 당신이 묻는 것에 대한 관련 능력이 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top