Ubuntuの開始以降、マウスボタンのクリックをカウントするにはどうすればよいですか?
私はそれを必要とするので、マウスボタンクリックの統計を行いたいです。
ありがとう
xinput
は必要なことを実行できます、Lukasz。 することができますワンライナー(まあ、正確にはワンライナーではありませんが、ENTERを1回だけ押す:-D)がありますが、最初に何らかの作業を行う必要があります。私はそれはかなり簡単だと誓います、私はここで明確にするためにほとんどのことを説明します。
ターミナルを開き、次を入力します。
xinput list
私のこの抜粋のように、ポインタ、キーボードボタンなどの素敵なリストを取得できます。
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ USB+PS/2 Optical Mouse id=10 [slave pointer (2)]
⎜ ↳ PS/2 Mouse id=13 [slave pointer (2)]
⎜ ↳ AlpsPS/2 ALPS GlidePoint id=14 [slave pointer (2)]
USBマウスは2行目にあり、そのIDは1であることがわかります。リスト内でマウスを見つけて、そのIDをメモします。必要なメインコマンドに必要になります。
正しいIDを取得したかどうかを確認するには、xinput test <id>
を実行します。マウスを動かしたり、ボタンをクリックしたりすると、ターミナルにたくさんの情報行が表示されます。それはあなたがあなたのマウスでするすべてをリストしています。何も起こらない場合は、ポインタリストから別のIDを試してみてください。おそらく最初は間違ったIDを選択しているでしょう(これはそれほど難しくないはずです)。
最終的に正しいIDを見つけたら、次のコマンドを実行します。
xinput test <id>|sed -une '/release/ { x
/^$/ s/^.*$/1/
G
h
s/^/ /
s/^ *\(......\)\n/\1 /p
x
s/\n.*$//
/^9*$/ s/^/0/
s/.9*$/x&/
h
s/^.*x//
y/0123456789/1234567890/
x
s/x.*$//
G
s/\n//
h
}'
上記をそのままコピーして貼り付けます。 Enterキーを押す前に、<id>を見つけたIDに置き換えます。実行すると、システムの使用を続行しながら、そこにそれを許可します。登録されたクリック数を確認したいときはいつでも、ターミナルを見るだけです。
重要なコメント:
私が使ったアプローチ:xinput list <id>
は汚い仕事をし、マウスで起こるすべてを表示します。次に、この出力をsed
にリダイレクトします。これは、 'release'イベントを持つ行のみを解析します。 「リリース」イベントが「クリックプロセス」(ボタンを押し下げてから押し上げる)を終了させると考えるのは問題ないと思います。 sedスクリプトは、「リリース」の行を表示するだけでなく、番号も付けます。このスクリプトはinfo sed
(セクション4.7)から直接コピーされており、確実に改善できます。
完全にあなたが望むものではありませんが、 WhatPulse は、そのようなさまざまなtitbitsを追跡するのにうれしいものです+チーム、国などでのオンラインランキング...
linux-inputプロジェクト で提供されるevtestを使用できます。
ただし、カーネルにCONFIG_INPUT_EVBUG = yを設定し(デバッグバージョンをインストールする場合はおそらくデフォルト)、デバッグレベルを8に設定する必要があります。
echo 8 > /proc/sys/kernel/printk
この時点で、コンソールから、解析可能ないくつかのメッセージが表示されます。
evbug.c: Event. Dev: gpio-keys/input0, Type: 0, Code: 0, Value: 0
evbug.c: Event. Dev: gpio-keys/input0, Type: 1, Code: 103, Value: 1
その後、bitbakeおよびevtestパッケージをインストールできます
Sudo apt-get install bitbake evtest
次に、デバイスに対してevtestを使用できます。必要な適切なイベントを見つけるためにいくつかのテストが必要になり、そのイベントの発生をカウントできます。
evtest /dev/input/eventXX
それ以外の場合、GDM/XDMにログインしてからクリックのみをカウントしたい場合は、誰かにそれを実行するか、GTKを使用するアプリケーション、QtまたはwxWidgets、Enlightenment、または好きなものを開発してマウスイベントを監視し、 desktopmが起動したらすぐにこのアプリケーションを起動してください。