키보드 키 + 스크롤 단축키 만들기

키보드 키 + 스크롤 단축키 만들기

ctrl+shift+tab + scroll작업을 볼륨 업/다운에 매핑하고 싶습니다 . 이 목표를 어떻게 달성할 수 있나요?

ctrl + scroll지도는 기본적으로 확대/축소되는 것으로 알고 있습니다 . 물론 이와 같은 사용자 정의 바로가기를 만들 수 있는 방법이 있어야겠죠?

(저는 kde Plasma 5.14.5를 실행하고 있습니다)

답변1

내 연구로는 이 문제에 대한 어떤 우아한 해결책도 찾을 수 없습니다. 아주 조잡한 Python 스크립트를 해킹했는데 제대로 작동하지 않았습니다...죄송합니다.

from pynput import keyboard
from pynput import mouse
from pynput.keyboard import Controller
import subprocess
from subprocess import call

kbd = Controller()

COMBINATIONS = [{keyboard.Key.ctrl, keyboard.Key.shift}]

current = set()

def execute():
    with mouse.Listener(on_scroll=on_mscroll) as listener:
        listener.join()

def on_press(key):
    if any([key in COMBO for COMBO in COMBINATIONS]):
        current.add(key)
        if any(all(k in current for k in COMBO) for COMBO in COMBINATIONS):
            # this executes only once and then it looses the keycombination
            execute()

def on_release(key):
    if any([key in COMBO for COMBO in COMBINATIONS]):
        try:
            current.remove(key)
        except KeyError:
            pass

def on_mscroll(x, y, dx, dy):
    if dy < 0:
        # this can be changed to the appropriate command to change the volume
        # like pactl
        call(["amixer", "-D", "pulse", "sset", "Master", "5%-"],stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
    else:
        call(["amixer", "-D", "pulse", "sset", "Master", "5%+"], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
    return False

with keyboard.Listener(on_press=on_press, on_release=on_release) as listener:
    listener.join()

문제는 ctrl+를 shift눌러 위/아래로 스크롤한 다음 shift다시 눌러 작업을 다시 전환해야 한다는 것입니다. 내 말은 이것이 EY라는 것입니다. 또한 이는 스크롤을 방지하지 않으므로 중립 위치(예: 사이드바)에서 스크롤하는 것이 좋습니다.

작동 pynput하지만 문제가 되지 않기를 바랍니다.

관련 정보