미국 이외의 기본값을 사용한 키보드 레이아웃 구성의 xdotool 문제

미국 이외의 기본값을 사용한 키보드 레이아웃 구성의 xdotool 문제

나는 일반적으로 다음을 수행하여 Debian의 Chrome 창에서 xdotool 명령줄을 사용하려고 합니다.

sleep 2 && xdotool type "2"
# Switch to the Chrome window and focus on the relevant text field
# before the 2 seconds timer above runs out; "2" should be auto-written.

이는 특수 이벤트 처리가 수행되는 일부 필드를 제외하고 대부분의 경우 작동합니다. Google 검색 타이머가 좋은 예입니다.

  • 위의 과정을 수행하여 구글 검색창에 2를 쓰면 되는데,
  • google.com에서 "타이머"를 검색하면 사용자가 타이머 값(숫자만)을 변경할 수 있는 특수 필드가 포함된 특수 타이머 응답을 얻습니다. Google 검색의 타이머 필드 일반 키보드로 "2"를 입력하면 제대로 작동하지만 위의 xdotool(XTEST를 사용해야 함)을 사용하면 작동하지 않습니다(아무 일도 일어나지 않습니다). 2 대신 탭을 보내면 작동합니다(필드가 초점을 잃음).

참고: 이 문제는 다른 숫자 필드에서도 발생하며 모두 동일한 특성을 가지고 있지만 숫자를 가져오려면 Shift 키를 눌러야 하는 프랑스어 AZERTY 키보드 레이아웃에서는 작동하지 않습니다. 그래서 미국 레이아웃에서는 "xdotool key 2"를 시도하고 프랑스어 레이아웃에서는 "xdotool key Shift+2"를 시도했지만 둘 다 작동하지 않았습니다.

업데이트: 저는 3개의 노트북을 사용해 보았습니다.

  1. Debian의 Google Chrome, 기본값은 FR 레이아웃입니다.
  2. Ubuntu의 Firefox, 기본 FR 레이아웃,
  3. Ubuntu의 Firefox, 미국 레이아웃이 기본값으로 설정됨(다른 레이아웃을 사용하지 않음)

버그는 1과 2에서는 재현되지만 3에서는 재현되지 않으므로 1과 2에서 레이아웃을 다시 US로 전환하더라도 기본 레이아웃이나 키보드 구성이 여전히 xdotool의 시뮬레이션된 텍스트를 엉망으로 만들고 있음을 나타냅니다. 입력합니다.

답변1

변화하는 동안현재의키보드 레이아웃으로 문제가 해결되지 않습니다. 변경하세요.기본미국 키보드 레이아웃은 이 문제를 해결합니다. 이는 WAI처럼 보이지 않지만 이 해결 방법을 고려하면 이 문제를 해결된 것으로 표시하겠습니다.

관련 정보