Wayland의 키보드 에뮬레이션

Wayland의 키보드 에뮬레이션

xdotoolxteFedora 26에서 이 작업을 수행할 수 있는 방법이 있습니까 ? xbindkeys를 사용하여 키 누르기를 시뮬레이션하려고 합니다. 예를 들어 press 는 Alt+Bpress 를 시뮬레이션합니다 Ctrl+Shift+B. 하지만 Wayland xdotool에서는 둘 다 작동하지 않는 것 같습니다 xte(보안상의 이유로[?]).

해결책이 있나요? 그렇지 않으면 어떻게 키를 다른 키에 다시 바인딩할 수 있습니까?

답변1

2021년 2월/2024년 3월 편집: 마침내 제대로 된 프로젝트를 찾았습니다.https://github.com/sezanzab/input-remapper

나는 이 작은 스크립트를 사용하고 있습니다. 비밀번호 알림 없이 evemu 패키지를 설치하고 evemu-event를 sudo 구성해야 합니다. EVDEVICE아날로그 입력에 사용되는 장치입니다. /dev/input/event8이건 내 키보드야 ( sudo evemu-record당신을 찾곤 했었지)

#!/bin/bash
# keycomb.sh

EVDEVICE=/dev/input/event8

for key in $@; do
    sudo evemu-event $EVDEVICE --type EV_KEY --code KEY_$key --value 1 --sync
done


# reverse order
for (( idx=${#@}; idx>0; idx-- )); do
    sudo evemu-event $EVDEVICE --type EV_KEY --code KEY_${!idx} --value 0 --sync
done

예를 들어 변경 탭을 사용할 수 있습니다 ./keycomb.sh RIGHTCTL PAGEDOWN.

참고: 이 스크립트는 매개변수를 확인하지 않으므로 주의해서 사용하세요. ;)

답변2

댓글을 달기에는 너무 길지만 답변은 아닙니다...최근에 몇 가지를 접했습니다.파이썬코드는 말한다

evdev를 사용하여 Gnome/Wayland를 사용하여 키 입력을 입력할 때 xdotool을 대체하는 간단한 스크립트입니다.

이것이 출발점이 될 수 있습니다. 나는 그것을 시도하지 않았습니다. 파이썬 패키지가 필요합니다evdev, 루트로 실행해야 합니다.

아직 하나 있어요에비무패키지에 적혀있어요

evemu는 장치 설명과 이벤트를 기록하고 재생하여 커널의 입력 시스템을 통해 입력 장치를 에뮬레이트할 수 있습니다. 대부분의 실용적인 목적을 위해 에뮬레이트된 장치는 실제 장치와 구별할 수 없습니다.

관련 정보