Ubuntu日本語フォーラム
ログインしていません。
フォーラム内を検索すると似たようなトピックがあったのですが、内容が違う場合、
別にトピックを立てて構わないと聞いたのでここで改めて質問させていただきます。
OS:ubuntu 8.04 amd64
mouse:ロジクール G5
やりたい事
右・左クリックボタンの他についているボタンを「最小化」の機能に割り当てたい
以下のトピックを参考にしたのですがわからなかったので質問させてください。
http://forum.ubuntulinux.jp/viewtopic.php?id=794
http://forum.ubuntulinux.jp/viewtopic.php?id=1244
http://ubuntuguide.org/wiki/Ubuntu:Feisty_ja#.E3.83.9E.E3.82.A6.E3.82.B9
http://blogs.dion.ne.jp/fedora_blog/archives/4434597.html
http://blogs.dion.ne.jp/fedora_blog/archives/4864757.html
1、xvkbdとxbindkeysで上記のことをしようと思っているのですが可能ですか?
2、上記URL下2つのサイトはFedoraを使っているのですが、ubuntuでも設定は同じなのですか?
3、こちらにxorg.confのバックアップのとり方が書いてあるのですが、Ubuntu 7.04の記事なのですが、8.04でもやり方は同じですか?
4、xvkbdとxbindkeysの組み合わせの他にソフト(名前を忘れてしまいました)があったのですが、ご存知の方いらしたら教えてください。確かもう開発がストップしていると聞きました。そしてレポジトリにもないとどこかに書いてありました。
どうか解答よろしくお願いします。
現在わかっていること
$ xev ButtonRelease event, serial 31, synthetic NO, window 0x4e00001, root 0x13b, subw 0x4e00002, time 2352705, (37,33), root:(829,606), state 0x0, button 8, same_screen YES
cat /proc/bus/input/devices I: Bus=0003 Vendor=046d Product=c041 Version=0111 N: Name="Logitech USB Gaming Mouse" P: Phys=usb-0000:00:1d.7-2.3/input0 S: Sysfs=/devices/pci0000:00/0000:00:1d.7/usb5/5-2/5-2.3/5-2.3:1.0/input/input3 U: Uniq= H: Handlers=mouse1 event3 B: EV=17 B: KEY=ffff0000 0 0 0 0 B: REL=143 B: MSC=10
最後の編集者: syosinnsya (2008-09-19 21:48:00)
オフライン
※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。
オフライン
> 1、xvkbdとxbindkeysで上記のことをしようと思っているのですが可能ですか?
http://gihyo.jp/admin/serial/01/ubuntu-recipe/0013?page=2
この辺を見ながら、[ALT]+[SPACE]+[n]を割り付けるとお望みのことができるんではないでしょうか。
オフライン
kiyoshi による投稿:
xorg.confのバックアップの取り方だけに返事しておきます。
とにかく、同じディレクトリに違う名前でコピーしておくか、違うディレクトリに同じ名前か違う名前でコピーしておけば良いです。
おかしくなったら、何らかの方法で起動して、あらかじめコピーしておいたもので、/etc/X11/xorg.confを上書きすれば良いだけです。
たとえば、
$ sudo cp (あらかじめコピーしておいたxorg.conf) /etc/X11/xorg.conf
でOK。
解答ありがとうございます。バックアップを無事とりました。
hito による投稿:
http://gihyo.jp/admin/serial/01/ubuntu- … 013?page=2
この辺を見ながら、[ALT]+[SPACE]+[n]を割り付けるとお望みのことができるんではないでしょうか。
このページを元に作業を進めることにします。教えて下さってありがとうございます。
このページのやり方で質問があります。
xorg.confの編集でDriverをevedvに直すのはわかったのですが、それ以外のオプションはどのようにすればいいのですか?
見る限り、ボタンに名前をつけているだけのようなのですが、これは自分で適当にやっていいのでしょうか?
オフライン
Identifierは何でもいいです。
Nameは$ cat /proc/bus/input/devicesの結果と同じものを、
Option "HWHEELRelativeAxisButtons" "7 6"
はそのまま入れます。
オフライン
なるほど、わかりました。xorg.confを書き換えて、もう一度立ち上げたら正常に動いたのでここまでは何も支障はありませんでした。
上記のページに
>設定ファイルは~/.xbindkeysrcです
とあるのですが、これはホームディレクトリにこのファイルを置けばいいのですか?
$ cd ~
$gedit .xbindkeysrc
として、記述したあとに保存してはだめですか?
(意味不明なこと言ってたらすいません)
あと、私の場合、設定したいボタンは8で、ALT+Space+nで最小化ができるんですよね?
その場合、以下のように記述すればいいんですか?
"/usr/bin/xvkbd -xsendevent -text "\[Alt]\[Space]\[n]"" b:8
次の段階の話なのですが、[Ctrl]+[F2]で実行ダイアログどころか何も出ないのですがどうすればいいですか?
最後の編集者: syosinnsya (2008-09-06 23:10:17)
オフライン
syosinnsya による投稿:
>設定ファイルは~/.xbindkeysrcです
とあるのですが、これはホームディレクトリにこのファイルを置けばいいのですか?
$ cd ~
$gedit .xbindkeysrc
として、記述したあとに保存してはだめですか?
それでOKです。
あと、私の場合、設定したいボタンは8で、ALT+Space+nで最小化ができるんですよね?
その場合、以下のように記述すればいいんですか?コード:
"/usr/bin/xvkbd -xsendevent -text "\[Alt]\[Space]\[n]"" b:8次の段階の話なのですが、[Ctrl]+[F2]で実行ダイアログどころか何も出ないのですがどうすればいいですか?
たぶんそれでいいんじゃないでしょうか。
実行ダイアログは[Alt]+[F2]ですね。
オフライン
xbindkeysは起動して、機能を割り当てたボタンを押したのですが何も起こりません。
何が原因なのでしょうか?
/etc/X11/xorg.conf Section "InputDevice" Identifier "Configured Mouse" Driver "evdev" Option "Name" "Logitech USB Gaming Mouse" Option "HWHEELRelativeAxisButtons" "7 6" EndSection
"/usr/bin/xvkbd -xsendevent -text "\[alt]\[space]\[n]"" b:8
以前、xevで割り当てたいボタンを調べたところ、8番と出たのですが、今やってみたら以前とまったく違うログがでます。
以前と今で違うのはxorg.confでdriverをevdevにしたことぐらいだと思うのですが・・・
$ xev EnterNotify event, serial 31, synthetic NO, window 0x3200001, root 0x13b, subw 0x3200002, time 4299834, (53,49), root:(60,100), mode NotifyUngrab, detail NotifyNonlinearVirtual, same_screen YES, focus YES, state 0 KeymapNotify event, serial 31, synthetic NO, window 0x0, keys: 59 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 FocusIn event, serial 31, synthetic NO, window 0x3200001, mode NotifyUngrab, detail NotifyNonlinear KeymapNotify event, serial 31, synthetic NO, window 0x0, keys: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 LeaveNotify event, serial 31, synthetic NO, window 0x3200001, root 0x13b, subw 0x3200002, time 4299836, (53,49), root:(60,100), mode NotifyNormal, detail NotifyNonlinearVirtual, same_screen YES, focus YES, state 0 FocusOut event, serial 31, synthetic NO, window 0x3200001, mode NotifyNormal, detail NotifyNonlinear
最後の編集者: syosinnsya (2008-09-07 00:33:49)
オフライン
evdevにするにはどうすればいいのですか?
調べたのですがわからないので教えてください。
(本当に何から何まですいません)
http://ubuntuforums.org/showthread.php?t=219894
に従って、
sudo apt-get install xserver-xorg-input-evdev
と、したのですが何も変化しませんでした。
最後の編集者: syosinnsya (2008-09-07 02:02:21)
オフライン
syosinnsya による投稿:
evdevにするにはどうすればいいのですか?
#4,#6でxorg.confを書き換えて、マウスドライバを「evdevにした」んですよね?
で、#1でxevを使って目的のマウスボタンが8であるとなっていますが、マウスドライバを変更したのなら、もう一度マウスボタンが変わってないかどうかを調査しないといけないんです。というわけで、xev使ってもう一度確認してください。
syosinnsya による投稿:
以前、xevで割り当てたいボタンを調べたところ、8番と出たのですが、今やってみたら以前とまったく違うログがでます。
ここの#4を読む限り、「以前とまったく違う」ログとは思えないのですけれども。他のイベントを拾ってしっちゃかめっちゃかになっているんじゃないでしょうか。ウィンドウ上でボタンだけを注意深く押してみてはどうでしょう。
hito による投稿:
Identifierは何でもいいです。
Nameは$ cat /proc/bus/input/devicesの結果と同じものを、
Option "HWHEELRelativeAxisButtons" "7 6"
はそのまま入れます。
HWHEELRelativeAxisButtonsについては、RelHWHEELMapTo使ってくださいみたいな話もあるんですが、まだ動作するのでしょうか?
オフライン
解答ありがとうございます。
xorg.confでマウスドライバがevdevになっているのを確認した上でもう一度xevを実行してボタンの番号を調べました。
以前と同様に注意深く押したところ#1と同じログがでました。(なぜなのでしょう。)
つまりボタン番号は8です。
RelHWHEELMapToに関してはまだ書き換えてないのですが、書き換えた方がいいのですか?
最後の編集者: syosinnsya (2008-09-09 21:50:27)
オフライン
syosinnsya による投稿:
xorg.confでマウスドライバがevdevになっているのを確認した上でもう一度xevを実行してボタンの番号を調べました。
以前と同様に注意深く押したところ#1と同じログがでました。(なぜなのでしょう。)
つまりボタン番号は8です。
#1のときは注意深く押して、#8のときは注意深く押さなかったからじゃないでしょうか。とりあえずボタン番号が8なら、次はキーの設定("\[alt]\[space]\[n]")が正しいかどうかの確認です。#8ではすべて小文字で書いていらっしゃいますが、大文字小文字って関係ないんでしたっけ。"\[Alt]\[Space]\[n]"や"\[Alt]\[Space]\[N]"でないといけないということはありませんか。
もしくは、Ubuntu Weekly Recipeで紹介されているウィンドウを閉じるコマンド("\[Control]\[w]")を試してみて、本当に8番であっているかどうかを確認するのはどうでしょう?
syosinnsya による投稿:
RelHWHEELMapToに関してはまだ書き換えてないのですが、書き換えた方がいいのですか?
こっちは、自分には判断できません。
オフライン
("\[Control]\[w]")コマンドが成功したので最小化コマンドに挑戦しました。
1、すべて大文字では失敗
2、頭文字だけ大文字+nは小文字でも失敗
3、すべて小文字で異なる動き
$gedit .xbindkeysrc "/usr/bin/xvkbd -xsendevent -text "\[alt]\[space]\[n]"" b:8
上記の失敗とは何も起きなかったことを意味します。
3の場合、ブラウザ(firefox3.0.1)で試したところ、下にスクロールしました。firefoxで上記のコマンドで下にスクロールするように設定した覚えはありません。またファイルブラウザで試したところ何も起きませんでした。
コマンドが間違っているのでしょうか?それとも他に問題があるのでしょうか?
追記
HWHEELRelativeAxisButtonsのままです。
最後の編集者: syosinnsya (2008-09-10 01:31:37)
オフライン
syosinnsya による投稿:
("\[Control]\[w]")コマンドが成功したので最小化コマンドに挑戦しました。
ボタンは8番でよさそうですね。あとは、最小化のキーストロークを設定するだけかな。
syosinnsya による投稿:
3の場合、ブラウザ(firefox3.0.1)で試したところ、下にスクロールしました。firefoxで上記のコマンドで下にスクロールするように設定した覚えはありません。またファイルブラウザで試したところ何も起きませんでした。
コマンドが間違っているのでしょうか?それとも他に問題があるのでしょうか?
FirefoxだとSpaceがPageDownと同じ効果みたいですので、 Spaceしか認識されなかったんでしょうね。
実際にキーボードからキーを入力してもらったらわかると思いますが、
Alt+Space
でウィンドウメニューが表示され、その状態で
n
を押すことで「最小化(N)」が選択されます。xvkbdコマンドでこのキーの流れを実行しようというのが今の話題です。で、"\[Alt]\[Space]\[n]"だと、その三つを同時に押してしまうコマンドになるんじゃないでしょうか。よって、\[Space]と\[n]の間になんらかの遅延をいれなければならないと。
となると、まずxvkbdのマニュアルを見るのが一番の近道です。xvkbdは日本の方が開発していらっしゃるらしく、日本語のマニュアルも充実しています。これを見る限り、Alt+Space→nというキー入力はxvkbdを2回実行することでいけないでしょうか。
"/usr/bin/xvkbd -xsendevent -text "\[Alt]\[Space]"; /usr/bin/xvkbd -xsendevent -text "\[n]"" b:8
マニュアルを見る限り、"\[Alt]\[Space]"は"\A\[Space]"でも良さそうです。あと、任意の時間の遅延を入れられる\Dという文字列も書いてありますが、これはバージョン2.9以降の新機能ですので、8.04でインストールされるxvkbd(2.8)では使えません。
オフライン
Shibata による投稿:
実際にキーボードからキーを入力してもらったらわかると思いますが、
Alt+Space
でウィンドウメニューが表示され、その状態で
n
を押すことで「最小化(N)」が選択されます。
確認しました。3つ同時押しではならないんですね。
Shibataさんに示して頂いたコードをコピペしてやってみたのですが、何も起きませんでした。
その後、#14の3の事を思い出し、AltとSpaceをaltとspaceにしたら、動きました。(最小化ではありませんが)
実行されたのはfirefoxでは下へのスクロール、ファイルブラウザでは変化なしです。
私も日本語のマニュアルを読んでみます。
最後の編集者: syosinnsya (2008-09-12 00:07:18)
オフライン
syosinnsya による投稿:
Shibataさんに示して頂いたコードをコピペしてやってみたのですが、何も起きませんでした。
その後、#14の3の事を思い出し、AltとSpaceをaltとspaceにしたら、動きました。(最小化ではありませんが)
実行されたのはfirefoxでは下へのスクロール、ファイルブラウザでは変化なしです。
Altはcase sensitive(大文字小文字で挙動が違う)で、Spaceはそうではないということではないでしょうか。
Alt+Space=AltキーとSpaceキー同時押し
alt+space="alt"キーなるものは存在しないので無視、Spaceキーのみ認識
Alt+space=AltキーとSpaceキー同時押し
alt+Space="alt"キーなるものは存在しないので無視、Spaceキーのみ認識
みたいな感じで。
マニュアル読んでもう一つ気になったのがShiftキーの挙動です。-text stringの例題を見る限り、\Sは修飾キーのキャンセルに使えるっぽい? よって、以下のようなコマンドはどうでしょう。
"/usr/bin/xvkbd -xsendevent -text "\A\[space]\Sn"" b:8
オフライン
#17のコードを使って見たのですがだめでした。
小文字にすると動くと言っていたのはShibataさんがおっしゃる通り、case sensitiveの問題だと思います。
もう少し頑張ってみます。
オフライン
手許の Ubuntu 8.04 で
システム > 設定 > キーボード・ショートカット
で確認してみたのですが、
Metacity(GNOMEのウインドウマネージャ) は Alt+F9 で最小化しませんか。;)
Alt+F9 がアプリのショートカットとかちあうならここで適当なショートカットを設定してそれを呼び出すことも思いつきます。
オフライン
Hiho!
"ubuntu mouse extension"と"ubuntu mouse extension GUI"でgoogle検索をかけてみました。
別のアプローチです。
どうも、btnxというのがマウスボタンの動作をお好みに設定できるGUIのツールらしいです。バイナリパッケージも7.10から用意されているらしいです。(いまWindows使ってますので調べていません)
btnx
めも:btnx
しっくり生活:ハードウェア関連(Ubuntu 8.04編):5ボタンマウスにキーを割り当てる
DragonPush:btnxでLogicool MX Revolution
Ubuntu Forum:btnx: Send keyboard and mouse combination events with mouse buttons
最小化にこだわらなければ、Gnomeだったか、ウィンドウマネージャーだったかの機能で、マウスホイルの操作で、ウィンドウタイトルにカーソルをあて、巻きあげることもできます。
私の場合、面倒なので基本、一つのソフトを一ディスクトップに置いて、ディスクトップを切り替えるやり方をしているので、最小化は余り使用しません。まあ、ディスクトップの使い方は人それぞれと言うことで、ヒントにでも。;)
最後の編集者: HiroKws (2008-09-18 11:23:52)
オフライン
実験してみます。
Synapticsを起動、btnxで検索しましたがヒットしませんでした。
そこで、Ubuntuフォーラムの方法をためしてみました。
ソフトウェアソースのサードパーティのソフトウェアに次の2行を追加します。
deb http://ppa.launchpad.net/daou/ubuntu hardy main deb-src http://ppa.launchpad.net/daou/ubuntu hardy main
再読み込みアイコンをクリックします。
検索でbtnxを探すと、今度は2パッケージヒットします。btnxとbtnx-configに右クリックのメニューからインストール指示をつけます。
適用をクリック。当方の環境ではワーニングが出ましたが、ひとまず無視。
アプリケーション→システムツール→btnxで設定ウィンドウを起動。英語です。
何をしたら良いか分からないので、Detect mouses & buttonsをクリック。
するとマウスの認識を行うウィンドウが表示されました。Press to start mouse detectionをクリックして、後はマウスを動かさず、待ちます。
OK, move your mouse now, ...と表示されたら、すぐに次へをクリックします。ぐずぐずしていると、もう一回マウスを認識して、同じマウスを見つけ同じハードだからとエラーになって、せっかくの認識がキャンセルされてしまいます。もし、そうなったら、慌てずDetect mouses & buttonsを繰り返してください。
さて次はボタンを認識させるようです。Press to start button detectionを左クリックすると、認識が始まります。認識させたいボタン、ホイールを続けて4回クリック、回転させます。ホイールの上回転と下回転は別のボタンとして認識されます。
認識させると、そのボタンに名前がつけられるようになります。英語が苦手な方はMigi, Hidari, Mannakaなど、わかりやすい名前をつけましょう。追加ボタンをクリックして登録します。
後から、同じ手順で追加できるので、取り合えず必要なボタンを登録し、OKボタンを押します。
メインのウィンドウに戻りました。Buttonタブを押してボタンの設定を行います。登録したボタンが左ペインに表示されています。一つ選びます。
event typeがそのボタンを押したとき発生させるイベントの種類です。Key combinationがキーボード操作のシミュレーション、Command Executionがコマンドの実行です。プログラムが起動できますよ。もう一つのConfiguration switchはたぶん、Configurationタブを押すといくつかの設定を保存できるようになっているので、それの切り替え操作を行うものです。
今回はKey combinationですね。後は、発生させたいキーイベントを定義します。
それと、肝心なのが、キーごとに有効、無効をセットでき、デフォルトでは無効になっています。Enableにチェックをいれておかないと、有効になりません。
あとは、Configurationタブを押し、Restart btnxをクリックすれば、変更が反映されるようですが、駄目でした。一回ログアウトし、Restart btnxをクリックしたり、設定ウィンドウを起動しなおしているうちに、設定ウィンドを起動するときにパスワードの入力を求められるようになり、その後、設定どおりに動作するようになりました。
前に書いておいた参考サイトをご覧になりつつ、試してみてはいかがでしょう。
オフライン
一度正しく動作するようになれば、再起動後も、Restart btnxをクリックした時も、正しく動作するようです。
私は、ボリュームアップと、ボリュームダウンを割り付けました。=D
オフライン
ああ、念のために。
最小化のキーバインドは通常、fueryuejingさんのおっしゃっているとおり、F9+Altです。F9と右Aftか左Altを指定すれば、ご希望のとおり動作すると思います。
あと、X関連の設定ファイルはバックアップをとっていたものに戻しておいた方が確実に動作すると思います。
オフライン
ここまで来たのでxkeybindでやりたいのですが、左右Altをどう記述すればいいかわからないので、教えていただけないでしょうか?
あと、btnxは製作がストップしていると聞いたので(ソースは忘れましたが・・)あえて使わなかったのですが、その辺はどうなんでしょうか。
オフライン
とりあえず左右 Alt について。
左右の Alt を区別したいなら
Alt_R
Alt_L
でいけると思います。手許のPCでxevで調べてみたらそうなっていました。 :)
オフライン