키보드와 마우스를 하나의 가상 입력 장치로 결합할 수 있나요?

키보드와 마우스를 하나의 가상 입력 장치로 결합할 수 있나요?

일부 앱은 이상하거나 불편한 사용자 상호 작용을 사용하므로 편집할 수 없습니다. 키보드 및 마우스 이벤트 조합을 다른 키보드 및 마우스 이벤트 조합으로 다시 매핑하고 싶습니다.

ctrl정확히 말하면 지정된 애플리케이션(DaVinci Resolve)에 포커스가 있을 때 이러한 매핑 + wheel up -> alt+가 활성화되기를 원합니다.wheel up

가지다바퀴이 작업을 해결하는 유틸리티입니다. 하지만 그 유틸리티는 매우 구식이고 X11에만 국한되어 있으므로 Wayland 솔루션을 찾고 있습니다. 참고로, 현재 사용 사례에서는 이를 허용하지만(davinci 구문 분석은 현재 Xwayland를 통해서만 실행되므로) 잘 작동하지 않습니다. 때로는 일부 이벤트가 "변환"되지 않아 원치 않는 효과가 발생할 수 있습니다. 새로운 Wayland 지원 유틸리티에는 이러한 문제가 발생하지 않기를 바랍니다.

아주 찾았어요유제, 그러나 두 마리의 쥐에 대해서는 명확한 답이 없었습니다.

유틸리티를 찾았습니다(evdevremapkeys의 Pronobis 포크또는에버리투)는 N:N 매핑을 허용하므로 이 작업을 수행할 수 있습니다. 그러나 그들의 프로필은 (적어도 이 글을 쓰는 시점에는) 하나의 장치만 사용합니다.여기.

이제 키보드와 마우스에서 가상 evdev 입력 장치를 만들고(즉, 병합) 이를 유틸리티 구성에 사용하는 아이디어가 생겼습니다. 가능합니까?

나는 이것이 가능할 수도 있다는 강한 느낌을 가지고 있습니다파이썬-evdev또는효과적인. 그런데 이런 가상 입력 장치를 만들려면 정확히 어떻게 해야 하는지 모르겠습니다.

답변1

다음 명령을 사용하여 병합된 장치를 성공적으로 만들었습니다.문서):

$ evsieve --input /dev/input/event8 grab --input /dev/input/event5 grab --output

/dev/input/event8내 키보드는 어디에 있고, /dev/input/event5마우스는 어디에 있나요? /dev/input/event3이름으로 생성 되었습니다 Evsieve Virtual Device.

ctrl+ 를 + wheel로 , +를 + 로 실제로 다시 매핑하려면 명령을 다음과 같이 변경할 수 있습니다.altwheelaltwheelctrlwheel여기):

sudo evsieve --input /dev/input/event8 grab --input /dev/input/event5 grab \
    --hook   key:leftalt:1 toggle=alt:2 \
    --hook   key:leftalt:0 toggle=alt:1 \
    --hook   key:leftctrl:1 toggle=ctrl:2 \
    --hook   key:leftctrl:0 toggle=ctrl:1 \
    --toggle rel:wheel @alt-up @alt-down id=alt \
    --map    yield rel:wheel@alt-down key:leftalt:0 key:leftctrl:1 key:leftctrl:2 rel:wheel key:leftctrl:0 key:leftalt:1 \
    --toggle rel:wheel @ctrl-up @ctrl-down id=ctrl \
    --map    yield rel:wheel@ctrl-down key:leftctrl:0 key:leftalt:1 key:leftalt:2 rel:wheel key:leftalt:0 key:leftctrl:1 \
    --block  rel:wheel_hi_res \
    --print  @alt-down @alt-up @ctrl-down @ctrl-up \
    --output create-link=/dev/input/by-id/merged-virtual-KM name="merged virtual KM"

evremap을 사용하려면 다음 구성을 사용할 수 있습니다.

device_name = "Evsieve Virtual Device"

[[remap]]
input = ["KEY_LEFTALT", "BTN_RIGHT"]
output = ["KEY_PAGEUP"]

Alt + 마우스 오른쪽 버튼을 눌러 커서를 위로 이동하여 PgUp을 생성합니다. 하지만 매핑된 휠 이벤트는지금불가능한.

관련 정보