2023,04,01, Saturday
左手デバイスは絵描き、特にRazerデバイスかつMac使いの絵描きにとって喫緊の問題となっています。 限定条件が多い割には結構な数生息しているようです。 以前のエントリでKoolertron AMG-50というプログラマブルキーボードをTartarus V2の代替として運用しようとしていましたが、なかなか慣れるものでもありません。 特にこれが悪かったということではなく、汎用的なプログラマブルキーボードとゲーミングキーデバイスとの立ち位置の差だとは思います。 最近の自作左手デバイス界隈もゲーミングデバイス同様、ロータリーエンコーダーやらホイールなどが付いているものがトレンドになっているようです。 絵描きソフトのUIのスライダーをボリュームやホイールで動かしたい、というのがキー割り付けよりもシンプルな操作になるということでしょう。 やはりホイールがあるとなし、あと親指十字キーといったゲーミングデバイス特有の操作感と絵描き作業とは親和性が高いと言わざるを得ません。 結局のところ『馴染んだ道具』というものは何にも代えがたい存在で、おいそれと違うものに置き換えるということはできません。 弘法筆がどうたら・・・とか言うのはその世界の達人になってからの話であって、ボクのような一般かそれ以下の自称絵描きとしては少しでも慣れ親しんだ使いやすいデバイスなりソフトを使わないとよりよいものが描けません。 それですらよいものが描けない可能性が高いのです。 余暇で絵を描いている人はそれでいいかもしれませんが、より職業性が増す絵描きを生活の一部としている人たちには、明らかに作業効率が下がるのである種の死活問題となってきます。 そして何より使えないより使えたほうが作業効率だけでなく精神衛生的にもよいことこの上ありません。 やっぱり道具は重要ですね。 昨今のMacにおけるRazerデバイスの対応状況は、Razer社がそもそもMac市場にそれほど重きを置いていないため、非常に悪いです。 端的に言うと最新のVenturaにはRazerデバイス(ドライバ)は対応しておりません。 特にボクのようにWindowsからMac世界に移住してきた人などはそれがよくわかりますw 具体的には64bitアプリしか動かなくなったmacOS Catalina まではRazer謹製ドライバの RazerSynapse2 が使えます。 macOS BigSur では RazerSynapse2 はインストールはできますが、デバイスが認識しません。 それを回避するためにはリカバリーモードでRazerのデベロッパーIDを追加してから通常起動し、RazerHIDのkextを起動できるようにするとデバイスが認識できるようになります。 以前iMacProを使っていた際には、この無理矢理認識技でRazerSynapse2でデバイスを認識させていました。 まあ成功率が1/3位の確率だったのですが。 そんな状況ですので、OSのバージョンを上げられずに未だに32bitアプリが使えるMojaveやHigh Sierra止まりになっている人がネット上では見られます。 参考サイト : https://developer.apple.com/forums/thread/649829 とにかくmacOSは仕様変更が多すぎる。 すべてはセキュリティ向上のためならば過去の互換性など簡単に切り捨てるAppleが悪いんだ。 ゲーミング層を切り捨てるかのようなソフトウェア政策を行っているAppleが悪いんだ。 ボクは創業からジョブズ追放以後の砂糖水屋ことスカリー時代の停滞したAppleに慣れ親しんで育ったと自称しているので(笑)、あのジョブズ復帰後のAppleには違和感がありました。 それからかなりの時間が経ってWindowsからMac信徒に戻った今、あのとき感じた違和感が増幅されてきたと言ってもいいのかも知れません。 ヤン・ウェンリー亡き後のイゼルローン共和政府よろしく、それでもApple製品を使わざるを得ない我々Macユーザもかなりの信仰心が試されているわけです。 Razer TartarusV2を使わないMacの絵描きと、TartarusV2を使うMac以外の絵描きと。 そのどちらをも拒否したボクが見出した現実的妥協策、それが今回の記事になりますw 今回はRazerSynapse2(ドライバ)に依存しないTartarus V2の動作環境を構築してきたいと思います。 おそらく Intel / M1 / M2 環境や新旧OSに関係なく動作する(はず)です。 因みに運用環境はMacStudio M1 Max CPU10コア / GPU 32コア / SSD 1GB / メモリ 64GB / OS macOS Monterey 12.6.4です。 最新OSはVenturaですが、連携カメラはよさげですが、コントロールパネルの改変とかあるので、とりあえずは様子見です。 そこで。 満を持して登場するのがMac界隈で有名なキーバインド変換ソフト Karabiner-Elements です。 かなり強力なキーバインド変換アプリですが、通常の使い方だと単一キー同士の変換のみしか行えません。 それでもWindows用キーボードをMacで使う場合等にWinキーやAltやCtrlを入れ替えたりするには十分です。 ですが一つのキーで command + n とか command + shift + z とか複数キーを押すような(ゲーミングデバイスでいうところのマクロ)動作をするとなると、ハードルが一気に高くなり独自ルールを記述したスクリプト的なものを書く必要が出てきます。 karabinerの独自ルールファイルはjson形式で記述され、karabiner内の特定の場所に置くことでインポートできるようになります。 かつて独自ルールを作ろうとしましたがルール記述仕様の知識が不足しており挫折、中途半端にしか動かないもの(バグあり)が出来上がった時点でやめてしまいました。 しかも全デバイスで動作させるようにしか作れなかったため、割り付けたキーが他のデバイスでもショートカットとして動いてキータイプがまともにできなくなったりしました。 微妙に動くけどなんとも使いにくいものになりました。 そしてそれはiCroudの奥底に封印されることになったのです。 今回再開しようと思った切欠は、前回問題になっていたキー変換時に特定の動作条件を指定できることが判明したからです。 ここでは詳細は省きますが、基本的なキー変換は封印前の状態でほぼできているので、前回挫折の大きな問題になっていた変換条件(アプリ毎に動作するかの選択、デバイス毎に動作するかの選択)のあたりを試行錯誤しています。 その結果、特定のデバイスでのみショートカットが出力できるようになったり、特定のアプリでのみ動作できるようになったので、他のデバイス(キーボードなど)のキー入力を邪魔することがなくなりました。 特に『特定のデバイスでの動作』というのが重要でして、karabinerでキー割り付けをすると、全デバイスがそのキー割り付けになってしまうので、キーボードの1キーを押すとkarabinerで割り付けたショートカット(例えば新規レイヤー作成のルールが起動)、とかになってしまうのです。 これを抑制しTartarus V2でのみ動作させる、という条件を付けることによって、やっとkarabinerによるキー割り付けが実用レベルになったわけです。 参考サイト : https://pc.oreda.net/software/keybord/karabiner https://qiita.com/s-show/items/a1fd228b04801477729c https://matsuoshi.hatenablog.com/entry/2019/01/24/000000 また、karabinerではTartarus V2のホイールの上下スクロールはキーとして認識しないので割り付けできない事は知っていたので、ホイール動作を他のデバイス(PowerMateのようなボリュームコントローラー)などに代行させる方法も考えてはいました。 それ以外にもTartarus V2ではなく以前使っていたOrbwerverにすればホイールがないのでキー割り付けで上下スクロールできるんじゃね、とか。 またマウスなどのキー割り付けソフトでTartarus V2のホイールが認識するものがあるんじゃないかと探したりもしました。 その過程でステアーマウスがTartarus V2に対応しているという情報を手に入れました。 試しに使ってみるとホイールが認識してるww これで勝つる! Tartatrus V2完全復活や!!!! ステアーマウスは高性能マウスユーティリティで、マウスのボタンに単体機キーの割り付けだけでなく、ショーカットを割り付けることもできるのでかなり柔軟性が高いです。 またマウスの移動速度・加速度などもデバイス毎にカスタマイズできます。 それが今回Tartarus V2に対応しているとたまたま知ったので使ってみたところホイールにキーを設定できるのでホイール問題は一挙に解決。 ステアーマウス万歳! おお、これでRazerのドライバ無しの状態でもWindows時代と同じ機能を実現することができたぞ。 このホイール(拡大縮小)とスクロールを矢継ぎ早に切り替え目的の場所へ動かすのが、絵描きでは普通になっていたから、これができないデバイスは違和感しかなかった。 あと親指のAltでスポイトというのももうすっかり体に染みついてしまっていますね。 この余勢を生かしてもう少し最適化できないか試しましょう。 PhtosohopだけでなくSAI2も一つのルールにして動作させられるかも。 ・・・として更に制作を進めてみたものの、SAI2の割り付けとPhotoshopの割り付けがバッティングした場合、両方動いたり両方動かなかったりと、本格的な条件分岐をしなければいけなそうな雰囲気になってきました。 jsonファイルは{}や[]のような括弧を多く使うので、流用しようと思って他からコピペをしたりすると、この括弧やカンマの数が合わなくなったりしてjsonファイルが実行されません。これを修正するのが結構面倒で手間がかかります。 そもそもkarabinerへの理解度も足りなく複雑な条件判断処理を記述するにはスキル不足なので、現実的に動く状態へと妥協することになりました。 ただでさえ少ない『やる気のある』状態のうちに完成に持ち込まなければ、また前回のように不良債権が増えるだけになってしまいますから。 最終的にPhotoshopとSAI2は別のプロファイルに分けることになり、手動でPhotoshopとSAI2それぞれの使用時に切り替えることになりました。 ですがRazerドライバ上で割り付けていたキーは全部Karabiner + ステアーマウスで再現することができました。 ホイール動作のためだけに1980円のアプリを導入するのは安いのか高いのか。 ボクの絵描き環境では2004年くらいに買ったBelkin Nostromo N52以来の伝統として受け継いできたホイールの割り当てなので、これがドライバなしで実現できるのなら別のホイールデバイスを買うよりも安いものです。 昨年来の悲願だったMacにおけるドライバに依存しない左手デバイス動作環境の構築・運用が達成されました!! これでKarabiner-Elements(とステアーマウス)があればRazer Tartarus V2を末永く使うことができます。 今後の課題として ・条件判断(フラグ管理?)によるキーの選択出力ができるようにしたい 同じキーを押してもPsとSAI2(Parallels)で出力を変えられれば一つのプロファイルで管理できる ・Photoshopでブラシの流量の割り付け 流量はshift+数字(0-9)で変更できますが、現在の流量を知ることはできません。 人によっては流量全部をキーに割り当ててる人がいますが、それは今のキー割り当て的には無理。 修飾キー(shiftかAlt)+n01~n05で20%毎に割り当て または流量上下の2キーで上下+10%/-10%ずつにする。内部変数を持つことによって押すキーを変える。 この場合、UIのスライダーで流量を変更しても内部変数には反映されないので現実の流量とのズレが出る。 ・他のアプリ使用時のキー割り付け 一般的に使うショートカット command + q / command + w をSafariやChromeで使えるようにする 以上があげられますが、Karabinaerの仕様をもっと理解しないといけないですね。 ・Croma(LED)に対応したい RazerのLEDを光らせるだけのアプリがあるのでそれの導入・検証 Razer macosの導入 macOSでサポートのなくなった左手デバイスを復活させる手段としてKarabiner-Elementsは非常に強力なツールであるといえるでしょう。 まあWindowsを使っていればこんな面倒なことをしなくても済むのですがね。 ※230401追記 当エントリをアップした後、あれこれjsonファイルやKarbinerの設定解説サイトを見直してみて色々と試したところ、キー動作条件を選択出力できるようになったっぽいので、一つのプロファイルでPhotoshopとSAI2のキーバインドをアプリ毎に変換することができるようになりました。 そしてのそのクソコードをどうにかそれっぽくしてやっと人様にお見せできる(かなり微妙wwww)状態になりましたので、このスクリプトを参考にしていただければ幸いです。 参考サイト : https://qiita.com/s-show/items/40ad22c4ee4a0465fad5 Karabine Elements Photoshop / SAI2 キー変換Jsonスクリプト Rev0.98 230401(19KB) また、Tartarus V2 のLEDを光らせるだけのアプリも試してみました。 その名もまんまRazer macos(笑) これはBigSurでRazerSynapse2を使うためにはどうしたらいいかを調べていた時にたまたま見つけました。 TartarusV2になにかをする的な事が書いてあったのでw、キー割付アプリかな?とおもっていたのですが、実際にはLED”だけ”をコントロールするためのアプリだったというわけです。 とはいえ、LEDが消灯しているRazerデバイスはこれはこれで悲しい感じがしますので、空元気でも光っていた方がいいと思います。 何故か知りませんが、MacがスリープしているはずなのにTartarusV2が光っていたりするのですが、どういうことなのでしょうか? 夜中に起きてトイレに行くとき(もういい年やね)になんか部屋が光ってるんですよねwww ちょっと前に書いた今後の課題をほぼタイムラグなしに半分くらいは解決したことになります。 あとは流量コントロールの実装ですかね。 これは小手先のスクリプト技術だけでは解決しない、プログラミング的なスキルが必要となるはずです。 その辺りはまたぼちぼちやっていこうと思います。 最近はネット上のあちこちで同じようなことをしている人がいるので、その人達の力を借りながら(パクリともいうw)自分の目的としている事を達成するということができる素晴らしい世の中になりました。 その恩恵を受けた身として、ボク自身が得られた知見を少しでも世の皆様に還元できればいいと思っています。 それではまた!
| ヲタク::PCとか | 05:32 PM | comments (x) | trackback (x) |
|