« 2026年6月 | トップページ | 2026年8月 »

2026年7月

2026年7月28日 (火)

両刀マウス2026


Bimouseabout

ぼくが個人的に作って公開したフリーウェアのひとつに、”両刀マウス”があります。
2011年当時、DJの現場で機材の配置が良くなくて、左手にマウスを持つセッティングにしたいということがあって、コントロールパネルのマウスを開いて、マウスを左手用に設定する……という手間を省くために、両ボタン長押しで左右ボタンの機能を入れ替える、というユーティリティアプリを作ったのでした。
 
使ってみると、上記の目的の他に、

・左手でマウスを操作しながら右手でテンキーを打つ
・右手で歯磨きをしながら左手でマウスを持ってパソコンを操作する

などの場合に便利で、いまでも毎日使っています。
必要な時だけ、サッと変更して、またサッと戻せるのが便利なところです。

2015年にVectorにフリーウェアとして登録したところ、窓の杜のお気に入りで紹介されて、とても嬉しかったのをおぼえています(^-^)

さて初期の開発からすでに15年ほど使っていますが、いくつか欠点がありました。
・ボタン左右入れ替えをするための操作を、左右ボタン同時長押しとしたが、これを行うとコンテキスト(右クリックすると出てくるメニュー)が出てしまって、ちょっと面倒
・3秒長押しとしていたが、押すタイミングによって反応時間にばらつきがある
・当時Visual Basicで開発していたため、配布する場合に依存ファイルが多く、インストーラー付きで配布していた

そういうわけで、これらをナントカしなきゃなあ……と思いつつ、長い歳月が……(^-^;

今回はAIに手伝ってもらって、C#に移植して、上記の欠点を改良しました。

・ボタン入れ替えの操作を、ホイールチルト左右長押しとした(ホイールチルト付きマウス使用が前提)
・長押しを安定的に1.5秒に設定した
・インストーラーは付けず、好きな場所にホルダを展開して、exeを実行する使用にした(アンインストールは削除するだけ)

そういうわけで、さっそくBOOTHに登録し、Vectorにも登録申請中です。

フリーウェアですのでどしどしお使いください(^-^)

ダウンロード - 両刀マウス2026

【使い方】
① インストール
bimouse2026_xxx.zipを解凍して、ホルダごと任意の場所に置いてください。

② 起動
・BiMouse2026.exeをダブルクリックして起動します。起動すると常駐します。
・BiMouse2026.exeのショートカットを作成し、スタートアップに登録することをおすすめします。

※ このアプリの実行には.NET Frameworkが必要です。.NET Frameworkが入っていないPCで実行すると、
"You must install or update .NET to run this application"
というメッセージとともに、"Download it now"ボタンが出ますので、ボタンを押して.NETを
インストールしてから再度BiMouse2026.exeを起動してください。

③ 操作方法
起動、常駐している状態でマウスホイールのチルトを左に長押しすると左手用マウスに、
チルトを右に長押しすると右手用マウスにセットされます。

④ 終了方法
本アプリを終了したいときは、画面右下の通知領域に表示されている本アプリの赤青のアイコンを
右クリックして、終了を押してください。

【著作権など】
・本アプリはSLDJ合同会社と作者 肥後信嗣が著作権を有しています。
・無断での再配布は禁止します。ダウンロードへのリンクはご自由にどうぞ。
・雑誌、メディア等に掲載の際はご一報ください。

 

| | | コメント (0)

2026年7月20日 (月)

PCドライブのアクセスランプの製作(20260724追記、アップデートあり)

【 20260730 追記 】
PC側のアプリ DriveAccessMonitor.zip をアップデートしました。
修正点は、startup登録時にComポートが見つからないなどの不具合を避けるため、起動にWAITを5秒設けました。
これにより起動が5秒遅くなります。

【 20260729 追記 】
4ポイントバーグラフを2個使って見やすくしてみました。

動画B.4ポイントバーグラフ 2個使い

これは上からつぎのような並びになっています。

ドライブ0  R  W
ドライブ1  R  W
ドライブ2  R  W
ドライブ3  R  W
ALLドライブ  R/W

バーグラフが全部たて並びよりも圧倒的に見やすくなりました(^-^)
RP2040-Zero搭載のフルカラーは従来通りです。



【 20260724 追記 】

ファームウェアをアップデートし、RP2040-Zeroボードに搭載のフルカラーLED WS2812Bを、最大4ドライブに対して色別で点滅できるようにしました(動画A)。



動画A.RP2040-Zero 単体動作追加


これにより、最大4ドライブに対し、

① ドライブ別、R/W別に外付けLEDを合計8個点滅
② ドライブ、R/W兼用でRaspberryPI PICOに搭載のLED(GPIO25)を点滅
③ ドライブ、R/W兼用で1個の外付けLED(GPIO15)を点滅
④ ドライブ別にRP2040-Zeroボードに搭載のフルカラーLED WS2812B(GPIO26)を色別で点滅

という動作が可能になりました。
このうち、②は工作なしでRaspberryPI PICO(または互換品)をつなぐだけで動作、④も同じく工作なしでRP2040-Zeroをつなぐだけで動作するようになりました。
PC側の専用アプリは変更ありませんので、下の元記事のリンクからダウンロードしてください。

ファームウェア
ダウンロード - drivemonitor_200a.ino.uf2(ドライブ1が緑色)
ダウンロード - drivemonitor_200b.ino.uf2(ドライブ0が緑色)


200aと200bは、RP2040-Zeroボードに搭載のフルカラーLED WS2812Bを使用時に、緑色をドライブ0、1のどちらに割り付けるかの違いです。
これはCドライブに緑を使いたかったのですが、PCによってCドライブがドライブ0の場合とドライブ1の場合があるからです。


RP2040-Zeroを使う場合は、USB A (オス) USB-C (オス) 変換アダプタ(写真A)を使えば、パソコンのUSB Aポートに直挿しできます(写真B)。

Usb_ac
写真A.USB A ー USB C アダプタ


Imgp0090
写真B.PCのUSBポートに直挿し



【 これより元記事 】



動画1.製作したアクセスランプ
この動画で使用しているPCは、メインのCドライブとサブのDドライブの2ドライブしか積んでいないので、動作確認用としてUSBメモリーを2つ挿して、合計4ドライブとし、アクセスを発生させるためにCドライブ以外はCrystalDiskMarkでR/Wテストを同時に行った。

動画2.RaspberryPI PICO(純正ボード)のみによるアクセスランプ
GPIO25のLEDを全ドライブ共通のアクセスランプとして使用する。工作なしで接続するだけでOK!



パソコンにおいてSSDが普及してからというもの、徐々にドライブのアクセスランプがなくなる傾向が続いていて、現在販売されているノートPCではほとんど付いているのを見なくなりました。
また、コンパクトで高性能なミニPCは、本体をモニターのうしろに付けるなどして使うと、そもそも本体が見えないので、アクセスランプが付いていたとしても見ることができません。
ハードディスクの時代を知っている者としては、ドライブの動作音もアクセスランプもないというのは、なんとなく心許ない感じがするし、実用上では、たとえば大容量のインストール作業や、全画面表示や真っ黒な画面でのインストールなどが長時間続くと、ひょっとしてフリーズしているのではないか?という疑念が出てきて、確かめるすべがない、ということがままあります。
こういう場合にドライブのアクセスランプがチカチカしていれば、作業は進んでいるんだな、と、確認できて、安心できるのです(^-^)

そこで今回は手軽な材料で、USB接続の外付けアクセスランプを製作したので紹介します。

今回製作したアクセスランプの仕様は次のとおり。
① 対応ドライブは4台まで
② 最大4台のドライブに対し、個別にR/W(リードライト)を区別してLEDを点灯(LED8個)
③ 最大4台のドライブに対し、いずれかのドライブが、R/Wいずれかの動作をしていれば点滅するLEDを別に1個
④ 最大4台のドライブに対し、ドライブ別に、フルカラーLED WS2812Bが4色で点滅する
⑤ アクセスランプ側のデバイスはRaspberryPI PICOを使用
⑥ PC側はC#による専用アプリを使用


従来パソコンに付いていたアクセスランプは、全ドライブ兼用でなおかつR/W兼用だったため、上の仕様③を用意しました。

このアクセスランプを作るには、RaspberryPI PICOのボードと表示用のLED、それにLED用の抵抗が必要です。
回路図を図1に示します。

Driveaccessmonsch
図1.アクセスランプ回路図
LEDの色によって輝度が違うため、抵抗値で調整してそろえている。


回路図といっても、PICOのGPIO0~7およびGPIO15に、抵抗を介してLEDを繋いであるだけの回路です。
今回使用したPICOボードはPR2040-Zeroというもので、Aliexpressで1個400円くらいから売られていて、Amazonやスイッチサイエンスなどでも入手可能です(図2)。

Rp2040zero
図2.今回使用したPICOボードRP2040ーZero


また、今回使用したLEDは、バーグラフ用に作られたもので、内蔵LED10個のうち9個を使っています(図3)。

Led_bargraph
図3.今回使用したLEDアレイ
Aliexpressで10個726円!

今回はRP2040ーZeroを使用したため、上の回路図には出てきませんが、正規品のRaspberryPI PICOおよびコンパチ品は、GPIO25に接続されたLEDがボードに搭載されているので、全ドライブR/W共通のアクセスランプだけなら工作の必要はありません。ボード上のLEDがアクセスランプとして動作します。

各ドライブのR/Wに対応するGPIOは表1のとおりです。
すべてのドライブでR/W兼用のLED信号はGPIO25(RaspberryPI PICO正規品およびコンパチ品の搭載LED)およびGPIO15(外付け用)。

冒頭に示した動画1はドライブ別にLEDを接続した場合の動作、動画2はRaspberryPI PICOボード上のLED(GPIO25)のみによる全ドライブ兼用の動作です。

表1.GPIO対応表
Diskvsgpio


セットアップと使い方は以下のとおりです。

① PICOボードにファームウェアを書き込む

ダウンロード - drivemonitor_200a.ino.uf2(ドライブ1が緑色)

ダウンロード - drivemonitor_200b.ino.uf2(ドライブ0が緑色)

200aと200bは、RP2040-Zeroボードに搭載のフルカラーLED WS2812Bを使用時に、緑色をドライブ0、1のどちらに割り付けるかの違いです。
これはCドライブに緑を使いたかったのですが、PCによってCドライブがドライブ0の場合とドライブ1の場合があるからです。


このファームウェアをダウンロードします。
※ダウンロード時に、ブラウザによって図4のようにブロックされる場合は、”保存”を押してダウンロードしてください。

Block
図4.ダウンロードのブロック(driveaccessmonitor.zip の例:保存を押して続行します。)


ダウンロードできたら、以下の手順で書き込みます。
・BOOTSELボタンを押しながらPCにUSB接続(正規品RaspberryPI PICO)
・USB接続した状態で、BOOTボタンを押しながらリセット(リセットボタンがあるもの)
すると、PICOがドライブとして認識されるので、ここにダウンロードしたuf2ファイルをDrag&Dropすれば書き込まれます。


② COMポートの確認
ファームウェアが書き込まれると、COMポートとして認識されるので、デバイスマネージャでCOMポート番号を確認します(図5)。

Devicemanager
図5.COMポート番号を確認。
ここではCOM14がアクセスランプ。わからない場合は抜き差しして確認してください。


③ PC側のアプリのインストールおよび実行
つぎのファイルをダウンロードして、任意の場所に解凍してください。
ダウンロード - driveaccessmonitor.zip

※ダウンロード時に、ブラウザによって図4のようにブロックされる場合は、”保存”を押してダウンロードしてください。

解凍したら、まずホルダ内の"SetCOM.exe"を実行。このとき図6のように起動がプロテクトされた場合は、”詳細情報”をクリックしてから”実行”を押して実行します。


Protect1
図6.プロテクト画面が出たら、詳細情報→実行


次に、.NET Frameworkがインストールされていないと図7のようなメッセージが出るので、Download it now を押して.NET Frameworkをインストールし、再度"SetCOM.exe"を実行します。起動できたら、なにもせずに右上の✕を押して一旦終了します。


Sssrcnet1_20260720190601
図7..NET Frameworkのインストール画面(これはSSSRCアプリの例)

 

次にホルダ内のDriveAccessMonitor.exeを実行。
再度図6のプロテクト画面が出たら、先ほどと同じように詳細情報から実行します。
数秒待つと図8に示すCOMポートエラーが出るのでOKを押して、次の図9の画面が出たら先程調べたCOMポートを選んでOK。図10の確認画面が出たらOK。


Comporterror
図8.COMポートエラー


Setcom
図9.アクセスランプのCOMポートを設定


Setcmplete
図10.COMポート設定完了


これで数秒待つと動作を開始し、タスクバーの通知領域に図11のようなアイコンが表示されます。

Kidou_20260720185601
図11.通知領域のアイコン(表示されない場合は ^ を押して隠れているアイコンを表示)


これでアクセスランプが動作開始しているはず!


④その他の留意事項
・本アプリの終了は、通知領域のアイコンを右クリックして”終了”を押します。
・ドライブは、ディスク0~3のように認識されますが、ディスク0がCドライブになるとは限りません。これはWindowsのスタートメニューを右クリックして”ディスクの管理”を起動し、確認できます(図12)。
したがって、特定のドライブに対してLEDの色を決めたい場合は、先にディスク番号を確認し、表1のGPIO対応表にしたがってLEDを接続してください。
・COMポートを設定しなおしたい場合は、いちど本アプリを終了し、本アプリのホルダ"DriveAccessMonitor"の中の"SetCOM.exe"を実行してCOMポートを設定し直してください。設定ができたら再度本アプリを起動します。
・アクセスランプを常時使用する場合は、アクセスランプをUSBに繋いだままにしておき、本アプリをスタートアップに登録してください。ただし、COMポートが変更になった場合は再設定が必要です。


Mngedisk
図12.ディスクの管理
ディスク0がCではなくDドライブになっている。


やっぱりドライブのアクセスランプがあると安心感があるなあ……(^-^)


| | | コメント (0)

« 2026年6月 | トップページ | 2026年8月 »