トップページにもどる


MX610

Logitech MX610 Laser Cordless Mouse についてのページ


# Contents #



MX610HID


MX610HID
version 0.3.0 2006/06/11


【説明】
Logitech の MX 610 Laser Cordless Mouse の
メール用とメッセンジャー用のボタンのLEDのON/OFFを
コントロールするソフトウェアです。


【インストール方法】
適当なフォルダに解凍してください。


【アンインストール方法】
解凍したファイル等を削除してください。
レジストリ等は作成していません。


【使用方法】
mx610hid [ mx | mo | mp | mxg | mog | mpg | sx | so | sp | sxg | sog | spg | t(時間ms) | b(周波数Hz) ]
    引数なし             GUI インターフェイスを表示します。
    引数がある場合       引数で指定された処理をした後、自動的に終了します。
    mx                   Mail の LED を 消灯(Off)   します。
    mo                   Mail の LED を 点灯(On)    します。
    mp                   Mail の LED を 点滅(Pulse) します。
    mxg                  Mail の LED を ゆるやかに、消灯(Off)   します。
    mog                  Mail の LED を ゆるやかに、点灯(On)    します。
    mpg                  Mail の LED を ゆるやかに、点滅(Pulse) します。
    sx                   Messenger の LED を 消灯(Off)   します。
    so                   Messenger の LED を 点灯(On)    します。
    sp                   Messenger の LED を 点滅(Pulse) します。
    sxg                  Messenger の LED を ゆるやかに、消灯(Off)   します。
    sog                  Messenger の LED を ゆるやかに、点灯(On)    します。
    spg                  Messenger の LED を ゆるやかに、点滅(Pulse) します。
    t(時間ms)            指定された時間、間隔を空けます。
    b(周波数Hz)          指定された周波数で、100msビープ音を鳴らします。

(例)
mx610hid.exe so mog t5000 spg mp t10000 mxg sx


【注意】
自己責任で使用してください。


【変更の概要】
< Version 0.3.0 > 2006/06/11
引数起動時にMailボタンとIMボタンのLEDのコントロールが続いている場合、同時にセットするように対応。
実行中の USB Receiver の抜き差しに対応。

< Version 0.2.1 > 2006/05/31
コマンドラインオプションの仕様を変更。

< Version 0.2.0 > 2006/05/30
Mailボタン,IMボタンのLEDのコントロールに対応。

< Version 0.0.1 > 2005/05/18
第一版。



Copyright (C) 2006 QUEBits

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.


Downlod MX610HID

MX610HID の ソースコード ( Delphi )



MyMxPoint


MyMxPoint version 0.1.2

【説明】
Logitech の MX 610 Laser Cordless Mouse の
ボタンに機能を割り当てます。


【インストール方法】
適当なフォルダに解凍してください。


【アンインストール方法】
解凍したファイル等を削除してください。
レジストリ等は作成していません。


【使用方法】
実行するとタスクトレイにアイコン状態で起動して常駐します。
終了するときは、タスクトレイのアイコンをクリックして終了してください。


【ボタンの機能割り当て】
現時点では、機能割り当ての変更はできません。
コードをみる


【注意】
自己責任で使用してください。



Copyright (C) 2006 QUEBits

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.


  Downlod MyMxPoint  




2006/06

MX610のメモ

自分の環境(WIndowsXP, ThinkPad R40)では
Logicool SetPoint (version 2.60.606) を実行している状態で、マウスをぐるぐる動かし続けていると、結構負荷がかかる(70%ぐらい)。CPU使用率が高くなるのは、SetPoint.exe ではなく csrss.exe という、システム側のプロセスなのだが、SetPointを終了すると負荷がかからなくなるので、原因はSetPointにあるに違いない。
また、OSを起動してからしばらく時間がたつと、メモリの使用率が異様に上昇していき
”正しくないイメージ / アプリケーションまたは DLL C:\Program Files\Logicool\SetPoint\IMHook.dll は正しい Windows イメージではありません。これをインストール ディスクのファイルと照合してください。”
と、エラーメッセージが表示されるようになり、OSを再起動するしかない状況になってしまうことがある。

不安定な環境は嫌なので、現在、SetPointをスタートアップからはずした状態で、MX610 を使用している。
そこで、問題になるのは、MX610にある、"たくさん"のボタンを活用できなくなるということである。

活用できなくなる、というのは、ボリューム調整ボタン、戻る、進む、メール起動、チルトなどに、独自の設定を割り当てて、本来持つ機能の上書きができなくなるということで、 SetPoint を起動していなくても、ボタンを押したときにMX610がOSに送る、もともとの機能は使うことができる。

SetPointがない素状態で使えるMX610の機能 (USB接続)
まったく使えなくなる機能

このままでも、普通のワイヤレスマウス+α として機能するので、そのまま使用してもよいのだが、
やはり、SetPointみたいに、独自の機能を割り当てたい。
そこで、これらのボタンに独自の機能を割り当てる方法を考えてみた。

ボタン 考えられる
ブロック・検出
割り当て方法
情報
WM_KEYDOWN
Virtual-Key Codes
WM_APPCOMMAND USB DeviceData
ボリュームアップ グローバルフック
Raw Input
VK_VOLUME_UP (AF) APPCOMMAND_VOLUME_UP (0A) 00:00:E9:00:00  (Button Down)
00:00:00:00:00  (Button Up)
ボリュームダウン グローバルフック
Raw Input
VK_VOLUME_DOWN (AE) APPCOMMAND_VOLUME_DOWN (09) 00:00:EA:00:00
00:00:00:00:00
ミュート グローバルフック
Raw Input
VK_VOLUME_MUTE (AD) APPCOMMAND_VOLUME_MUTE (08) 00:00:E2:00:00
00:00:00:00:00
メール グローバルフック
Raw Input
レジストリ変更(AppKey\15)
(受け取れなかった)
VK_LAUNCH_MAIL (B4) ?
(受け取れなかった)
APPCOMMAND_LAUNCH_MAIL (0F) ?
8A:01:00:00:00
00:00:00:00:00
インスタント メッセンジャー USB HID DeviceData イベント たぶんない たぶんない BC:01:00:00:00
00:00:00:00:00
進む グローバルフック
Raw Input
レジストリ変更(AppKey\2)
(受け取れなかった)
VK_BROWSER_FORWARD (A7) ?
APPCOMMAND_BROWSER_FORWARD (8002) (受け取れなかった)
0x0225 ?
戻る グローバルフック
Raw Input
レジストリ変更(AppKey\1)
(受け取れなかった)
VK_BROWSER_BACK (A6) ?
APPCOMMAND_BROWSER_BACKWARD (8001) (受け取れなかった)
0x0224 ?
チルト わからない たぶんない たぶんない わからない


レジストリ変更による機能の割り当て方法

警告 : レジストリ の設定を誤ると、深刻な問題が発生することがあります。最悪の場合、オペレーティング システムの再インストールが必要になることがあります。以下に書かれたことを実行したことにより発生した問題に関して、私は一切責任を負いません。自己責任において実行してください。

MX610では、このレジストリ変更による、機能の割り当てが有効になるのは、
メール、進む、戻る の3つのボタンのみで、ボリューム操作関係のボタンには無効だった。
しかも、エクスプローラ(explorer.exe)、IE(IEXPLORE.EXE)、Firefoxなどブラウザソフト上にマウスポインタがあるときは、BROWSER_BACKWARD、BROWSER_FORWARD のメッセージを処理して"戻る""進む"ので、割り当てたプログラムは実行されなかった。それら以外のところにポインタがある場合に、実行される。


初期状態では以下のようになっていると思う
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey]

; WebHome
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey\7]
"Association"="http"

; Mail
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey\15]
"RegisteredApp"="Mail"

; Media
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey\16]
"Association"=".cda"

; VK_LAUNCH_APP1 / APPCOMMAND_LAUNCH_APP1 の動作
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey\17]
"ShellExecute"="::{20D04FE0-3AEA-1069-A2D8-08002B30309D}"

; VK_LAUNCH_APP2 / APPCOMMAND_LAUNCH_APP2 の動作
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey\18]
"ShellExecute"="calc.exe"
これを以下のように変更(新しくキーを作成)すれば、ボタンを押したときの動作を変更できる。
数字とコマンドの対応は Sample Chapter from Microsoft Windows XP Registry Guide - Command Keys に書いてある。
種類 = 文字列型(REG_SZ)、名前 = ShellExecute 、値のデータ = "割り当てたいプログラムのパス" にすると、ボタンを押したときに指定したプログラムが実行される。
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey]

; 追加 Back (Internet browser)
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey\1]
"ShellExecute"="calc.exe"

; 追加 Forward (Internet browser)
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey\2]
"ShellExecute"="notepad.exe"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey\7]
"Association"="http"

; Mail
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey\15]
"RegisteredApp"="Mail"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey\16]
"Association"=".cda"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey\17]
"ShellExecute"="::{20D04FE0-3AEA-1069-A2D8-08002B30309D}"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey\18]
"ShellExecute"="calc.exe"

Mail コマンドのAppKey\15 が "RegisteredApp"="Mail" になっているが、これも"ShellExecute"="プログラムのパス"とすることで、"規定の電子メールプログラム"以外のプログラムを実行することができる。

しかし、自分の環境(ThinkPad R40)では、IBMの"TPHKMGR.exe"(ハードウェアボリューム変更キー、バックライト変更キーの表示、Access IBM ボタンの動作などの結構重要なソフト)が、LAUNCH_MAILのメッセージを横取りして、"ShellExecute"="プログラムのパス"は機能しなかった。なので、AppKey\15 は "RegisteredApp"="Mail" のままで、
[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\My_Mail_Program]
@="My_Mail_Program"

[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\My_Mail_Program\Protocols]

[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\My_Mail_Program\Protocols\mailto]
@="URL:MailTo Protocol"
"EditFlags"=hex:02,00,00,00
"URL Protocol"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\My_Mail_Program\Protocols\mailto\DefaultIcon]

[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\My_Mail_Program\Protocols\shell]

[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\My_Mail_Program\Protocols\shell\open]

[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\My_Mail_Program\Protocols\shell\open\command]
@="\"C:\\WINDOWS\\system32\\notepad.exe\""

[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\My_Mail_Program\shell]

[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\My_Mail_Program\shell\open]

; 例 notepad
[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\My_Mail_Program\shell\open\command]
@="\"C:\\WINDOWS\\system32\\notepad.exe\""
と、適当なキーを作って、から、
[HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail]
@="My_Mail_Program"

と、"規定の電子メールプログラム"にすることで、機能を割り当てている。

ThinkPad以外の場合はここまででいいのだが、
ThinkPadの場合は、TPHKMGR の設定も変更しないといけないので、
[HKEY_CURRENT_USER\Software\IBM\TPHOTKEY\e-Experience\MAIL]
@=""
と、空にしてからLAUNCH_MAILのコマンドを実行すると、ThinkPad web ナビゲーション キー エージェント の設定画面が現れるので、そこで、My_Mail_Program を選択すると、 [HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail\My_Mail_Program\shell\open\command] に指定したプログラムが実行されるようになる。




参考URL

ちなみに、MSDN Online のWebページをローカルに保存したファイルを開いても真っ白になって表示できない場合、
<script>
	if( self == top )
{
	location = "/library/en-us/winui/WinUI/WindowsUserInterface/UserInput/VirtualKeyCodes.asp";
}
</script>
の部分を削除・コメントアウトすれば、表示できるようになる。


1