메뉴에 대한 단축키가 없는 경우 단축키로 메뉴를 열려면 어떻게 해야 합니까?

메뉴에 대한 단축키가 없는 경우 단축키로 메뉴를 열려면 어떻게 해야 합니까?

예를 들어 현재 재생 중인 노래를 보기 위해 사운드 메뉴/표시기를 열거나 드롭다운할 수 있는 키보드 단축키가 있습니까? 그렇지 않다면 어떻게 설정할 수 있습니까?

답변1

바로가기 키 아래에 있는 스크립트를 사용하면 다음과 같은 작업을 수행할 수 있습니다.어느메뉴 항목 드롭다운(사운드 메뉴를 포함하여 해당 메뉴 항목에 대한 바로가기가 없는 경우):

여기에 이미지 설명을 입력하세요

실제로 게시 된 답변과 거의 동일합니다.여기, 그러나 질문은 다릅니다. 그러나 나는 가능한 미래의 유사한 질문을 다루기 위해 귀하의 질문 (제목)을 약간 확장하기 위해 자유를 얻었습니다.

기능

스크립트는 메뉴나 아이콘으로의 마우스 이동을 시뮬레이션하고 클릭한 다음 마우스를 원래 위치로 되돌립니다. 이 모든 일은 찰나의 순간에 일어나므로 전혀 눈치채지 못할 것입니다.

화면을 클릭하는 등 유연한 방식으로 사용할 수 있습니다.어느위치가 쉽게 변경될 수 있습니다. 두 가지 옵션으로 실행됩니다.

  1. 에게세트(기억) 현재 마우스 위치:

    run_click -set
    
  2. 마지막으로 기억한 위치를 클릭하려면:

    run_click -run
    

설정된 위치가 없으면 위치 설정을 요청하는 zenity 메시지가 나타납니다.

스크립트는 숨겨진 파일을 생성합니다. ~/.run_click가장 최근에 기억된 좌표를 저장하는 곳입니다.

사용하는 방법

  1. 설치하다xdotool

    sudo apt-get install xdotool
    
  2. 아래 스크립트를 빈 파일에 복사 open_menu하고 ~/bin. 필요한 경우 디렉토리를 생성하고스크립트를 실행 가능하게 만듭니다.

  3. 방금 생성한 경우 을 ~/bin실행합니다 source ~/.profile.
  4. 먼저 두 명령을 모두 테스트한 open_menu -set다음 open_menu -run모두 예상대로 작동하는지 확인합니다.
  5. 이제 생성하세요단축키: 하나는 스크립트가 메뉴 항목의 위치를 ​​기억하도록 하고, 두 번째는 실제로 메뉴를 여는 데 사용됩니다. 선택: 시스템 설정 > "키보드" > "단축키" > "사용자 정의 단축키". "+"를 클릭하고 두 가지 바로 가기 키 조합에 명령을 추가합니다.

    open_menu -set
    

    그리고

    open_menu -run
    

이제 사운드 메뉴 아이콘에 마우스를 놓고 첫 번째 단축키를 누르세요. 이후부터는 두 번째 단축키로 메뉴를 열 수 있습니다.

스크립트

#!/usr/bin/env python3
import subprocess
import time
import sys
import os

option = sys.argv[1]
datafile = os.path.join(os.environ["HOME"], ".run_click")

def get_mousepos():
    cursordata = subprocess.check_output(["xdotool", "getmouselocation"]).decode("utf-8").split()
    return [d.split(":")[1] for d in cursordata[:2]]

if option == "-run":
    try:
        data = open(datafile).read()
        coords = (" ").join([l for l in data.splitlines()])
    except FileNotFoundError:
        message = "Please run the command: 'run_click -set' first, to set the click position"
        subprocess.Popen(["zenity", "--info", "--text", message])
    else:
        cmd1 = "xdotool mousemove "+coords; cmd2 = "xdotool click 1"; cmd3 = "xdotool mousemove "+(" ").join(get_mousepos())
        for cmd in [cmd1, cmd2, cmd3]:
            subprocess.Popen(["/bin/bash", "-c", cmd])
            time.sleep(0.05)
elif option == "-set":
    open(datafile, "wt").write(("\n").join(get_mousepos()))

답변2

소리 표시기를 열 수 있는 특정 단축키는 없지만 Alt+F10을 눌러 메뉴 표시기에 초점을 맞추고 소리 표시기로 변환할 수 있습니다.

관련 정보