web-dev-qa-db-ja.com

xbindkeysでLogitechマウスを構成する

Xbindkeysを使用してUbuntu 14.10用に構成したいLogitech Performance MXマウスがあります。 この投稿 の後にxbindkeysとxautomationをインストールできましたが、ボタンはまだ機能しません。

これが私のxbindkeysrcファイルです。

# For the benefit of emacs users: -*- Shell-script -*-
###########################
# xbindkeys configuration #
###########################
#
# Version: 1.8.6
#
# If you edit this file, do not forget to uncomment any lines
# that you change.
# The pound(#) symbol may be used anywhere for comments.
#
# To specify a key, you can use 'xbindkeys --key' or
# 'xbindkeys --multikey' and put one of the two lines in this file.
#
# The format of a command line is:
#    "command to start"
#       associated key
#
#
# A list of keys is in /usr/include/X11/keysym.h and in
# /usr/include/X11/keysymdef.h
# The XK_ is not needed.
#
# List of modifier:
#   Release, Control, Shift, Mod1 (Alt), Mod2 (NumLock),
#   Mod3 (CapsLock), Mod4, Mod5 (Scroll).
#

# The release modifier is not a standard X modifier, but you can
# use it if you want to catch release events instead of press events

# By defaults, xbindkeys does not pay attention with the modifiers
# NumLock, CapsLock and ScrollLock.
# Uncomment the lines above if you want to pay attention to them.

#keystate_numlock = enable
#keystate_capslock = enable
#keystate_scrolllock= enable

# Examples of commands:

"xbindkeys_show" 
  control+shift + q

# set directly keycode (here control + f with my keyboard)
#"xterm"
#  c:41 + m:0x4

# specify a mouse button
#"xterm"
#  control + b:2

#"xterm -geom 50x20+20+20"
#   Shift+Mod2+alt + s
#
## set directly keycode (here control+alt+mod2 + f with my keyboard)
#"xterm"
#  alt + c:0x29 + m:4 + mod2
#
## Control+Shift+a  release event starts rxvt
#"rxvt"
#  release+control+shift + a
#
## Control + mouse button 2 release event starts rxvt
#"rxvt"
#  Control + b:2 + Release

"xte 'key Control_L'"
b:10 

##################################
# End of xbindkeys configuration #
##################################

ありがとう。

2

この質問は1年前のものですが、未回答のようです。

あなたの問題は、xte 'key Control_L'をトリガーするだけで、コントロールキーを「タップ」するだけです。つまり、キープレスは非常に短い時間だけエミュレートされ、その後キーが放されます。マウスボタンを押し始めたときにkeydownイベントを発行し、マウスボタンを離したときにkeyupイベントを発生させる必要があります。 .xbindkeysrcは次のようになります。

"xte 'keydown Control_L'"
    b:8

"xte 'keyup Control_L'"
    b:8 + Release
2
Rapti

私は、xteがフレークであることを発見しました。 Logitech 518のサムボタンを「コントロールW」にマッピングしてタブとウィンドウを閉じるシーケンスは、xteが適切にシーケンスされていないとうまく機能しませんでした。たとえば、これは失敗しました:

"xte 'keydown Control_L' 'w' 'keyup Control_L'"
 b:8

これがしたように:

"xte 'keydown Control_L' 'w' 'keyup Control_L'"
 b:8 + release

また、xteが遅いことに気付きました。 xvkbdを試してみましたが、うまくいきます。

もちろん、これでxvkbdを取得する必要があります。

Sudo apt-get install xvkbd

これをホームディレクトリの.xbindkeysrcファイルに入れます

"xvkbd  -text '\C\[w]'"
m:0x0 + b:8

xbindkeysを再起動します

pkill -f xbindkeys && xbindkeys
2
aquagremlin

Logitech M705を持っていますが、これを試しました。

ボタン8は側面の進む/戻るボタンにマッピングされます。

###########################
# xbindkeys configuration #
###########################
# Workspace Left
 "xte 'keydown Control_L' 'keydown Alt_L' 'key Left' 'keyup Alt_L' 'keyup Control_L'"
  b:8
##################################
# End of xbindkeys configuration #
##################################
1
Jim Priest

キー制御自体はあまり機能しないためでなければなりません。

これを試して:

xte 'keydown Super_L' 'keydown Right' 'keyup Super_L' 'keyup Right'

これは基本的にSuper[windows key]+Right_Arrowで、開いているウィンドウを画面の右半分に移動する必要があります。

これは単なる例であり、任意のキーの組み合わせを自動化できます。

0
FerYepes