xbindkeys에서 마우스 버튼(시간 관련)에 다양한 명령을 할당하는 방법은 무엇입니까?

xbindkeys에서 마우스 버튼(시간 관련)에 다양한 명령을 할당하는 방법은 무엇입니까?

마우스 버튼을 누르고 있을 때 다른 명령을 실행해야 합니다.

나는 Linux에서 XMBC를 대체할 방법을 찾고 있었고 xbindkeys를 사용했지만 이전 구성에서 놓친 점은 버튼에 할당된 다양한 명령을 각각 다른 지연으로 실행하는 것이었습니다. 스크립트를 찾았습니다.xbindkeys 두 번 클릭유용하지만 내 목표를 달성하지 못했습니다. 그런 다음 내 선택은 bash를 사용하거나 bash를 사용하는 것이었습니다. 저는 bash를 사용하기로 선택했습니다. 아래에 답변을 남겼습니다.

더 많은 답변을 환영합니다

답변1

이것이 내 답변입니다. 다음에 업로드했습니다.환매 계약하지만 게시 시점과 게시 시점의 차이를 통합한 작은 스크립트입니다. 방금 개선의 여지가 있다는 것을 알았지만 지금은 취침 시간이므로 누구에게나 효과가 있다면 지금 하도록 하겠습니다.

#!/bin/bash
# hold_n_release.sh

BASE="`dirname "$(readlink -f "$0")"`"
BUTTON=$1
DELAY=$2
PROGS=$BASE/hold_n_release.$BUTTON.commands
LOCK=$BASE/tmp/hold_n_release.$BUTTON.lock
LINES=$(wc -l < $PROGS)

if [ -z "$BUTTON" -o -z "$DELAY" -o ! -f $PROGS ]; then
  echo "Usage : hold_n_release <Button> <Delay (sec)> [release]"
  echo "put the commands on a file named $BASE/hold_n_release.<Button>.commands one per line" 
  exit
fi
EPOCH=$(date +'%s')

if [[ "$3" == "release" &&  -e $LOCK ]] ; then
  LASTTIME=`cat $LOCK`
  CHOICE=$(( (EPOCH - LASTTIME) / DELAY + 1 )) 
  # echo $CHOICE
  if [ $CHOICE -le $LINES ]; then
    exec $(sed  -n "$CHOICE{p;q}" $PROGS) &
  fi
else 
  rm -f $LOCK
  echo  "$EPOCH" > $LOCK; 
fi

아래 예와 같이 각 명령이 한 줄에 있는 파일이 필요하며, 이는 예상되는 마지막 줄입니다.

xdotool ctr+c
copyq menu

그런 다음 xbindkeysrc에서 다음 형식으로 사용하십시오.

#Multicommand hold
"hold_n_release.sh 8 1"
  b:8
#Multicommand release
"hold_n_release.sh 8 1 release"
  b:8 + Release

편집자: Github 사용자 이름

관련 정보