- Home
- 一覧
- 雑記
-
Zowie S1&S2を比較 マウスレビュー
BenQ ZOWIEから発売されているゲーミングマウスS1とS2を比較しながら紹介します。
サイズ感に対して全長が短めな設計の左右対称マウスです。
Sシリーズは全長が短く設計されているため、マウスを包み込んで固定しやすくなっています。 マウスの手のひらと後端の間に十分なスペースがあるので、ユーザーは垂直方向の移動がしやすいように設計されています。
S2-C ゲーミングマウス for e-Sports | BenQ ZOWIE JapanHomeSシリーズからパラケーブルになり軽量化され構造も見直されたS-Cシリーズも発表されていて楽しみです。
スペック
メーカー BenQ ZOWIE 製品公式ページ S2 S1 形状 左右対称 長さ mm 122.2 126 幅 mm 64.3 66 高さ(ソール抜き) mm 38 39.3 重さ g 84 89 スイッチ Huano BlueDot センサー 3360 DPI 400(赤)/800(紫)/1600(青)/3200(緑) ポーリング Hz 125/500/1000 LOD(0.6 mmソール) 1.2 mm程度 ソフトウェア 無し 形状
S1はS2から3%程度寸法が大きい。
ソール張るところは0.3mm程度の凹。からの高さを測りました。
上下
サイズ感
およそ全長の通りでS2が小型、S1が中型といった感じですが全長より少し大きめに感じる。
リア
お尻のRが大きく短い。その分全長が短くまとまっている。
中央
上から見るとのっぺりしているが下から見るとしっかりくびれている。くびれが大きいわけではないがキュッとくびれている。
フロント
1 mm程度くびれ部から広がっておりくびれ度は弱め。先端は丸まっており深く持っても持ちやすい。
逆台形度
くびれ部は逆台形度が4.6 mm程度、フロント部分は逆台形度が5.6 mm程度とフロントの方が逆台形の度合いが大きい。フロントの逆台形度が強い形状。
センサー位置
センサー位置はどちらも中央から2 mm程度フロント寄り。
横
フロントに向かって逆台形が強くなっている。
フロントサイドが丸まっていくので薬指の自由度が高いと思う。
トップは割と後ろ寄りにあり出っ張っている。
後部の傾斜は少し大きめですがトップからフロントにかけてはかなりなだらかな形状となっています。
前後
後ろから見ると台形です。トップはかなり真っ平です。ZOWIEはここをパームサポートといっています。深くグリップすることを想定しているのだろうか。
クリック部はくぼみ指のガイドがあります。
側面先端をZOWIEはレイズ・フロントエンドといっています。フロント部分に高さを担保し指の自由度を上げている。でもその分クリックも高くなってしまっている気がする。
特徴
- S2:L 122.2 x W 54-64.3 x H 38 mm
- S1:L 126 x W 55.6-66 x H 39.3 mm
- ややフロントセンサ
- キュッとしたくびれ部と逆台形の強いフロント部
- リア寄りで出っ張った尻
比較
S1 vs S2
中身
ピンアサイン 厚みのあるシェルでビルドクオリティがよい。
クリック基板が上に固定するタイプ。クリック感が安定するとかだろうか。
重量は公称値プラス2~3 gケーブル分で重くなっている。
S1は89 gと重めで私は80 g後半ぐらいから振り回すのがきついので穴開けてS2と同じぐらいまで軽量化した。
ケーブル
ケーブルはそこそこ柔らかいがパラコードがよい人は交換したほうがよい。
ホイール
ZOWIEのいつもの光学ホイール。Zowie無印やVaxeeのマウスほどうるさくないのはいい。
重みのある感じは嫌いじゃないがスクロール量が少ないのがストレス。
クリック
メインスイッチはhuano bluedot。
セパレートでないMBでZOWIEらしいクリック感。
見ての通りホイール位置に対してスイッチ押下部が結構後方寄りに配置されていて、そういったスイッチから離れているところを押しているなあというクリック感。当然スイッチに対してクリック感は軽くストロークは長くなっている。
S1の方がよりメインボタンが長ためかクリック感は軽くストロークも長い。
S2の方が硬めだがS1よりストロークも短く反発もあり連打がしやすい。
持っていないがDivinaモデルは、よりクリック感が柔らかそう。
サイドボタン
サイドボタンは大きめで押しやすいがS2は少し親指と干渉する気もする。
センサー
センサー挙動に問題はなくセンサー位置はちょうど中央でくびれあたり。lodは純正ソールだと1.2 mmぐらい。
純正ソール薄くてものによってはマウスパッドに底面擦るので凹みまで底面研磨するのがよさそう。
ソール
Zowieの純正ソールは薄いと思う。柔らかいマウスパッドだと底面をすってしまう。
グリップ
コーティング
コーティングはべたつきのないさらっとしたマットだが跡が残りががち。特に不満はない
重心
重心は中央くびれあたりで持ちやすい。
尻
S2の尻部分は親指小指の付け根への主張が強くこの二か所で持つ感覚が強い。S1はより親指小指の付け根への主張が強くまた高さもあるので指尖球への主張もある。
尻の主張は大きいが私は食い込んでくるような不快感はなく母指球や手のひらに痛みは生じなかった。
サイド
側面先端部分は丸まっており薬指を伸ばしたり深くグリップしても持ちやすい。
つかみ
小指を曲げてグリップすれば中央くの字にくびれており親指と小指がちょうどフィットする。
小指を伸ばす人はフロント部が強く逆台形なのが好みであれば伸ばし気味なグリップも合う。
つかみ持ちがとても合う。わしづかみするのも薬指を伸ばすのも合っているように思う。
かぶせ
フロントが強い逆台形なため小指を内側に入れ込む形になる。それが苦手ならマウスを傾けて持つ感じか。チルトグリップなかぶせはむいておらず平行なグリップのかぶせになりそう。
つまみ
つまみ持ちは浅く持つと可動域が多少確保できるが側面が急でに指が配置しづらい。
おわり
謳っている設計コンセプトをうまく実現しているなという感じで平べったい上面や短い尻が特徴。
くびれ部分の勾配が大きい特徴のある左右対称らしい逆台形でひょうたん型の形状。尻はやや大きめ。
S1かS2かというと安直に小型か中型かで選べば良いとは思う。S2の方は手元や指先に余裕がある、S1の方はがっちり固定する気がする。
尻が出っ張っている形状なのである程度手のひら全体で固定したいつかみ持ちに向いているマウスだと思う。
セパレートでないMB、クリック感や光学式ホイールは魅力でもあるが好みが分かれそう。個人的には尻の主張が強すぎるかなとも思うので尻の主張が強めがいいという人には合うと思う。
前の記事:Microsoft Wheelmouse Optical マウス レビュー
次の記事:SteelSeries Kinzu V3 マウスレビュー
-
Microsoft WMO マウスレビュー
WMOの形状を元に設計されたゲーミングマウスGamesense MVP が発売されました。
せっかくなので往年のマウスWMOも触ってみたいなと思い購入したので紹介します。
Microsoftの左右対称中型ゲーミングマウスです。
スペック
メーカー Microsoft 製品 Wheelmouse Optical (WMO) 形状 左右対称 長さ 124 mm 幅 66.6 mm 高さ 39.4 mm(ソール0.8 mm込み) 重さ 80 g DPI 400 ポーリング 125 Hz(外部ソフトでOC可能) LOD 2 mm 最大速度 40 IPS 最大加速度 125 Hzで1 m/s サイドボタン 無し 形状
全長124 mmの左右対称中型マウス。
上下
リア
尻の幅66.6 mmで普通ぐらい。Rは大きく短い。
中央
センサー部分が最もくびれていて中央から11 mm程度フロント寄り。
フロント
くびれから先端にかけて1 mm程度広くなっておりフロントにかけて微妙に広がっていき、くびれ度は小さくフラット。
逆台形度
フロントサイドはほぼ鉛直、くびれ部は1.3 mm程度と弱く逆台形。
横
先端部はサイドのシェルが低くトップシェルが半分以上占めていて側面は指の置き場が満足に無い。
MB
クリック位置は少し高めで指に合わせたガイドはなく膨らんだ形状。
リア
後部はなだらかな形状となっていて高さが高いFKという感じ。
前後
丸っこいシルエット。わりと高さがある。
中央トップで39.4 mmの高さ。センサー位置はフロント寄り。
特徴
- L 124 x W 57-66.6 x H 39.4 mm
- フロントセンサ
- フラットなサイド
- 中央トップでなだらかな尻
- ガイドがなく高めのMB
中身
Microsftって感じ。後ろにネジが2つ、前にツメがあり引っかけてあるタイプ。
クリック
メインクリックは押していてタクトスイッチだなという感じだがクリック感は明瞭で不快感はない。
MBがよく振動している。
ホイール
ホイールクリックが軽い。ホイールはMicrosoft特有のカラカラする微妙なやつ。
ケーブル
ケーブルは硬い。
センサー
感度
基本的には400 dpi・125 Hz固定。
DPIを計測したところ純正ソールでほぼ400とよい調整。
LOD
2 mm少しありLODは長い。切れはよくあまり不快感はない。
追従性
MouseTester(MouseTester Software Reloaded | Overclock.net)でマウスを振ったりしました。
G PRO Wirelessと2つ一緒に振り回した波形で青がWMO
x count。125 Hzで安定してくれなければ困りますがポーリングは安定しています。
一定の速度から正しく移動量がとれていません。途切れずにきれいに頭打ちになってるのは性能足りてないなりに強い。腕を思い切り振って160IPS程度なので40 IPSだしこんなもん。
$$\frac{128 dot * 125 Hz}{400 dpi}=40IPS$$ x velocity。125 Hzで 1 m/sから正しく読み取れていません。
x sum。ipsもGも足りていなかったのでx sumがずれる。
ポーリングレートオーバークロックしてないので125 HzでですがGPROWirelessと比べて遅延がありそう。
フリックするとエイムがずれ遅延もある性能。
グリップ
コーティング
表面は荒い梨地で多少手汗をかけば滑らないがべたつく。劣化しているだけかもしれない。
重心
80gと重くはない重量で重心はセンサーちょっと下ぐらいで中央。
サイド
薬指を伸ばして持ったとき置き場所が満足に無い。囲んだ部分シェルの淵に薬指が当たり不快感がある。
手のひら
後部がなだらかで高さもあるので手のひら全体でグリップする。
つかみ
尻はなだらかでZAやSのような主張はないがFKよりはあり、くせのない感じ。
かぶせ
サイドがフラットなのでかぶせライクな持ち方でも左右対象マウスにしては合う方かも。
つまみ
尻がなだらかなのでつまみ持ちでも多少は指の屈伸が使える。フラットな側面で指は置きやすい。
でも合ってはいない。
おわり
フラットな側面が特徴で尻はなだらかだが高さはそこそこにある中型の左右対称マウス。
薬指が干渉したりホイールのカラカラ音やMBの振動、フリックできないセンサー性能などが懸念点。
中古市場やAliexpressなどで入手可能です。
-
モニターディスタンスで感度を変換する FPSとFOV④
前回モニターディスタンスが出てきました。
普通は振り向きを〇センチにするかと振り向き変換を行っていますよね。今回はモニターディスタンスを利用して視覚的な感度の変換、MD%変換をします。
視野角を上げると感度が高く感じます。振り向きは変わらないのに、という話です。
前の記事:FPSとFOV③ 通常時視野角からADS視野角を求める
感度のMD%変換とは
マウス感度の高い低いは手の感覚で振り向きを何センチに設定するかどうかで考えると思います。
しかし視野角を大きくすると視覚的な感度が高く、視野角を小さくすると視覚的な感度が低く感じます。振り向きは変わっていないのに。
この視野角を変えたときに視覚的な感度を揃えようというのがモニターディスタンスの感度変換です。
そもそもMD変換はすべてのFPSゲームで使用されています。
当然ゲームのADS時は振り向きが一緒ではありません。ADSすると振り向きは長く、振り向き感度は低くなりますよね。つまりMD変換でADSしたときに違和感がないように感度を変換しているわけです。
例えば
・APEXはMD0%変換によってADS感度を変換しています。他ゲーに比べADS感度は低めですよね。
・ValorantはMD100%変換です。スナイパースコープの感度高く感じますよね。
・旧R6SではADS感度84以上だと腰だめの振り向きと等倍サイトの振り向きが一致するMD∞%変換です。振り向き変換ですね。
・BF2042はデフォルトでMD75%変換ですが統一照準の設定によって0から169%の間で選択することができます。
という風にモニターディスタンスは知らず知らずのうちに利用しています。
またMD〇%の値は小さい方が感度が低く、大きい方が感度が高くなります。
そしてMD〇%の値は何を示すのかというと異なる視野角やADSしたときの画面上で、画面の〇%へのフリック感覚が一致するということです。画面の〇%までエイムするときのマウスの移動距離が一致するということです。
・MD0%のとき0%の内側はありませんから画面上どの位置へフリックしても感度が遅く感じますがクロスヘア近傍での操作感覚が一致します。
・MD75%のとき75%より内側ではフリック感度が高く、外側ではフリック感度が低くなります。
・MD100%のとき画面内へのフリック感度は高く感じます。
・MD∞%のとき無限の前では有限はすべて等しくみなせますから異なる視野角間で振り向きが一致する、振り向き変換となります。
感度をMD%変換する
マウスの移動量はこの図の中のどこと対応しているでしょうか。マウスを動かすことで視野が回転するわけですから、角度あるいは円周と比例します。
角度∝マウス移動距離
つまり 180[deg]と振り向き[cm] は対応しているというわけですね。
MD変換ですからMD〇%までのマウス移動距離を二つの視野角に対して一致させればよいわけです。これが今回の満たすべき条件となりますね。
2つの視野角間の変換ですから、変換元の視野角について図中のθ。変換先の視野角に対してφを全く同じ図で考えましょう。
ここで比例関係から、θ’とφ’が一致させたいマウス移動距離に対応してきます。θ’とφ’ に対応した一致させるべきマウス移動距離を d とします。
また変換するための変換元感度の振り向き[cm]、求めるための変換先感度の振り向き[cm]を考えます。
よって比例関係から、180[deg]に対するθ’の割合と、(変換元振り向き[cm])に対するdの割合は等しくなります。
同様に180[deg]に対するφ’の割合と、(変換先振り向きcm])に対するdの割合は等しくなります。
$$\frac{θ'[deg]}{180[deg]}= \frac{d[cm]}{\mbox{(変換元振り向き[cm])}}
$$$$\frac{φ'[deg]}{180[deg]}= \frac{d[cm]}{\mbox{(変換先振り向き[cm])}}
$$マウス移動距離dが等しくなるように変換元・先で式を立てることができました。dを消去します。
$$\mbox{(変換先振り向き)}=\frac{ θ’ [deg]}{ φ’ [deg]}\mbox{(変換元振り向き)}$$ よってどうすれば感度をMD変換し求めることがわかりました。
ではθ’とφ’に具体的な数値を入れていきましょう。前回求めたものを使います。
$$θ'[rad]=atan(MD tanθ)$$ $$φ'[rad]=atan(MD tanφ)$$ このとき振り向き変換するときに好きな振り向き何センチと決めて変換するように、好きなMD何%と自由に設定します。75%なら0.7を入れればいいわけですね0%なら0を入れると計算できませんから.00000000001とか0に近い値を。∞%なら999999999とかでかい値を入れればいいですね。
前回同様[rad]のままでは扱いにくいので[deg]に直しましょう。またθ、φを変換元視野角[infov]、変換先視野角[outfov]に直しましょう。
$$θ'[deg]=atan\left[MD tan([infov]\frac{\pi}{360})\right]\frac{360}{\pi}$$ $$φ'[deg]=atan\left[MD tan([outfov]\frac{\pi}{360})\right]\frac{360}{\pi}$$ 代入
$$\mbox{(変換先振り向き)}=\frac{ θ’ [deg]}{ φ’ [deg]}\mbox{(変換元振り向き)}$$ $$\mbox{(変換先振り向き)}=\frac{atan\left[MD tan(\mbox{[infov]}\frac{\pi}{360})\right]}{ atan\left[MD tan(\mbox{[outfov]}\frac{\pi}{360})\right]}\mbox{(変換元振り向き)}$$ よってモニターディスタンスによる感度変換ができました。
$$\frac{atan\left[MD tan(\mbox{[infov]}\frac{\pi}{360})\right]}{ atan\left[MD tan(\mbox{[outfov]}\frac{\pi}{360})\right]}$$ この振り向き倍率を元の振り向きにかけてやればMD変換感度が求まります。
また前回同様このときのinfov、outfovは16:9タイプの視野角でなくてはなりません。
例えば16:9視野角を106から120に上げたけどなんか感度低く感じるなというときにinfovに106をoutfovに120をいれMD75%にしてみようと思ったとしてMDに0.75をいれます。すると振り向きを85.6%にすればよいということがわかります。
ADS感度倍率をMD%変換する
MD変換するのは腰うち感度だけでよいのでしょうか。最初に言ったようにゲームによってADS時のMD%は異なります。例えば0%のAPEXのADS感度をMD75%でプレイしたいときにADS感度倍率もMD変換する必要があります。
腰うち視野角とADS視野角をそれぞれinfov、outfovとして先ほどのMD変換係数を求めます。その係数をゲーム内MDと求めたいMDとで比を取ってやればそれが設定するべきADS感度倍率になります。
$$
\mbox{(ADS感度倍率)}=
\frac{
\left(atan\left[gameMD tan(\mbox{[hipfov]}\frac{\pi}{360})\right]\right)
\left(atan\left[myMD tan(\mbox{[adsfov]}\frac{\pi}{360})\right]\right)
}
{
\left(atan\left[gameMD tan(\mbox{[adsfov]}\frac{\pi}{360})\right]\right)
\left(atan\left[myMD tan(\mbox{[hipfov]}\frac{\pi}{360})\right]\right)
}
$$例えばここにAPEXの腰うちとADS時の16:9fovをいれgameMDに0.0001を、myMDに0.75を入れ求まったADS感度倍率を設定するとAPEXのADS時の感度がMD75%に合わせて設定したということになります。
求めた結果から視覚的イメージをつかむ
MD0%に限って言えば、長々とした式は必要ありません。電卓もマウスを動かすことも必要ありません。視野角の値すら必要なく感度変換の計算ができてしまいます。このお手軽さから、MD%は楽でいいなと思います。
振り向き倍率=tan(16:9infov/2) /tan(16:9outfov/2)という単純な式で計算することができます。
さらにこれは単純に画面上での長さの日ですから、fovを変える前後で画面上で横幅が拡大縮小した比を求めるだけです。つまり前後でスクショを取って横幅がどれだけ変化したか見るだけで変換することができます。
ここまで円周とマウス移動量を一致させるように見てきました。つまりこのピンクの部分です。
一度円の半径を1→1/cosθに置き換えたように、実数値でなく比での話をしてきましたね。
今度は弦の長さを対応させて考えてみます。
弦を対応させ、相似になるようにします
すると今度は弦に対する弧の長さがマウス移動量に一致します。
円の程度が変化します。
この上をマウスで動かすようなものです。
MD0%を考えてみます。0で割ると無限になりますので、無限に大きい円とします。つまりその弧は直線となります。画面です。
よって先ほど述べたようにMD0%の場合計算式が簡単になります。異なるFOV間で画面上の長さと感度の比が一致するということです。
逆にMDが100%以上、感度が高い場合についてみてみます。このようになります。
おわり
当然感度をモニターディスタンスで合わせたところで1ミリも強くはなりません。しかしADSが存在するすべてのゲームで使用されている計算ですから知っておいて損はないと思います。
最強の感度は何かというと設定を変えるたびに高くしたり低くしたり微調整しながら決めていくのが最強だと思います。しかし設定を変えるたびに毎回やっていては日が暮れてしまいます。この設定はMD〇%で自分にあっているかもしれないとか思ったり設定コロコロ変えるときに機械的に感度を変換して移植できたら楽だと思います。この設定はこういう設定だという尺度が増えますそういう楽をするために知っておきましょう。
MD変換を行う計算フォーム:
[計算機]モニターディスタンスで感度を変換-Sensitivity Converter by Monitordistance
関連:[計算機]APEXの感度・ADS感度をモニターディスタンスで変換-Apex Sensitivity Converter By Monitordistance
-
[自キ]手配線で60%キーボード(試作)を作る
60%キーボードを手配線で作りました。自キ制作レポートです。
窮屈ですが69キーの自作キーボードを作りました。
設計方針
私はUS配列がJIS配列より好きだ。JISは手を動かさないとENTERが押せないがUSは指を動かすだけで押せるからだ。それにJIS配列の{}が上下にずれてるのおかしいだろ。
しかしUS配列で日本語キーボードを打つと不便だと思う。_が打てないのだ。
ということでENTERキーにアクセスしやすいUS配列ライクで日本語キーボードのキーを網羅したキーボードが欲しい。
最近は75%を使用していて丁度60%キーボードはほんとに快適なのかと思っていたため60%を制作することに決めた。
出来上がり
打鍵感は外側のキーが少し硬いのは仕方ないか。カチャカチャなるわけでもないし悪い感じはせず普通に使えるものができた。キーキャップは足りなかった分を前回の余りで補った。
PBTキーキャップはサラサラしているのがいいですね。
OEMプロファイルは一般的ではありますがやっぱり少し背が高いです、他のキーキャップも触ってみたい。
US配列で日本語設定で_と|を打てるのはめちゃくちゃ使いやすい。US配列使っていた時のストレスがなくなり最高。今まで_を打つのにWIN+SPACEでUSキーボードに切り替えSHIFT+-を打つというめんどくささだった。
材料
マイコン Pro Micro-遊舎工房 リセットスイッチ タクタイルスイッチ–遊舎工房 ダイオード 1SS178-秋月電子通商 配線用ワイヤ はんだメッキ線 0.6mm-秋月電子通商 耐熱電子ワイヤー 1.22mm-秋月電子通商 キースイッチ Ajazz 黒軸-AliExpress キーキャップ KBDfans OEM PBT Blank Keycaps-AliExpress プレート KPrepublic 60% carbon fiber plate-AliExpress コイルケーブル AKKO Aviator Cable Type C-AliExpress ゴム足 ゴム足 100粒入り-Amazon USBアダプタ UGREEN USB C to Micro USB-Amazon キーボードケース 適当な木材 キーレイアウト
Keyboard Layout Editor (keyboard-layout-editor.com)にて作成しました。
窮屈ですが実質65%キーボードです。市販のプレートで詰め込めるだけ詰め込みました。
キーマップはとりあえず詰めてみました。
組み立て
プレート
2uShiftのモノを今回購入してみました。プレートにキースイッチをはめ込みボンドで固定。
配線
ダイオードを手配線、69個あるのが大変。
promicroとリセットスイッチ、回路を配線。これでキーボードとしてはもう機能しそう。
なぜかリセットスイッチ外からアクセスできないところに配置。気が向いたら外からアクセスできるようにします。promicroはキーボードの下に隠して配置するより上とかにスペースを設けた方が都合いいのかもしれないと思った。
キーボードケース
できるだけシンプルで簡単なケースにしようと思った。木材をのこぎりでカット。全然まっすぐ切れてなかった。のこぎりなんて普段使わんもん。電動のこぎりか厚みのある樹脂板の方が楽だったかも。
ボンドで接着。ねじ止めする予定だったが予定から組み替えたりしてたらよくわからなくなった。
組み立て
家にあったラッカースプレーで適当に塗装、リア板の穴にUSBアダプタをボルトとナットで固定。
リア板を溝に挿しこむ、キーボード乗せる、ねじで固定、ゴム足をつけて完成
Firmware
config.h
#pragma once
#include “config_common.h”
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x0002
#define DEVICE_VER 0x0001
#define MANUFACTURER Tsuiha
#define PRODUCT 60percent01
#define MATRIX_ROWS 10
#define MATRIX_COLS 7
#define MATRIX_ROW_PINS { D1, D4, D7, B4, B5, D2, D0, C6, E6, F5 }
#define MATRIX_COL_PINS { F6, F7, B1, B3, B2, B6, D3 }
#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW10行7列で作りました。
60percent01.h
#pragma once
#include “quantum.h”
#define LAYOUT( \
k00, k01, k02, k03, k04, k05, k06, \
k10, k11, k12, k13, k14, k15, k16, \
k20, k21, k22, k23, k24, k25, k26, \
k30, k31, k32, k33, k34, k35, k36, \
k40, k41, k42, k43, k44, k45, k46, \
k50, k51, k52, k53, k54, k55, k56, \
k60, k61, k62, k63, k64, k65, k66, \
k70, k71, k72, k73, k74, k75, k76, \
k80, k81, k82, k83, k84, k85, k86, \
k90, k91, k92, k93, k94, k95 \
) { \
{ k00, k01, k02, k03, k04, k05, k06 }, \
{ k10, k11, k12, k13, k14, k15, k16 }, \
{ k20, k21, k22, k23, k24, k25, k26 }, \
{ k30, k31, k32, k33, k34, k35, k36 }, \
{ k40, k41, k42, k43, k44, k45, k46 }, \
{ k50, k51, k52, k53, k54, k55, k56 }, \
{ k60, k61, k62, k63, k64, k65, k66 }, \
{ k70, k71, k72, k73, k74, k75, k76 }, \
{ k80, k81, k82, k83, k84, k85, k86 }, \
{ k90, k91, k92, k93, k94, k95, KC_NO } \
}
keymap.c
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT(
KC_DELETE ,KC_BSPACE ,KC_EQUAL ,KC_MINUS ,KC_0 ,KC_9 ,KC_8 , \
KC_BSLASH ,KC_RBRACKET ,KC_LBRACKET ,KC_P ,KC_O ,KC_I ,KC_U , \
KC_PGUP ,KC_ENTER ,KC_QUOTE ,KC_SCOLON ,KC_L ,KC_K ,KC_J , \
KC_PGDOWN ,KC_UP ,KC_INT1 ,KC_SLASH ,KC_DOT ,KC_COMMA ,KC_M , \
KC_RIGHT ,KC_DOWN ,KC_LEFT ,KC_JYEN ,KC_RCTRL ,MO(1) ,KC_RSHIFT , \
KC_ESCAPE ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_6 , \
KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_7 , \
KC_GRAVE ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_Y , \
KC_LSHIFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_H , \
KC_LCTRL ,KC_LGUI ,KC_LALT ,MO(1) ,KC_SPACE ,KC_N \
),
LAYOUT(
_______ ,KC_PSCREEN ,KC_F12 ,KC_F11 ,KC_F10 ,KC_F9 ,KC_F8 , \
_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , \
KC_HOME ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , \
KC_END ,KC_MS_WH_UP ,_______ ,_______ ,_______ ,_______ ,KC_MAIL , \
KC_MS_WH_RIGHT ,KC_MS_WH_DOWN ,KC_MS_WH_LEFT ,_______ ,_______ ,_______ ,_______ , \
_______ ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F6 , \
_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,KC_F7 , \
_______ ,KC_MEDIA_PREV_TRACK,KC_MEDIA_PLAY_PAUSE,KC_MEDIA_NEXT_TRACK,_______,_______ ,_______ , \
_______ ,_______ ,_______ ,KC_CALCULATOR ,_______ ,_______ ,_______ , \
_______ ,_______ ,_______ ,_______ ,_______ ,_______ \
)
};どうせだからfnキーも活用していきたい。
反省点
60%キーボードとして普通に使えるものができた。
キーボードケースの工作精度がひどすぎたのでまともに作れる方法を考える。
強く押し込むとたわむが、このたわみ自体は悪いものではないらしい。しかし基板なしのプレートのみだと不安な部分はある。
キーボードの高さは既製品とほぼ同じだったがもう数ミリは薄型化の余地がある。
アクリルカット注文しサンドイッチとか積層で作るのが強度を担保できるのでアリかもしれない。でもちゃんとケースの方が見た目いい気がする。でもアクリルカット注文すると今回の場合一番金のかかる部品がケースになるんだよなあ。
最近のキーボードはホットスワップのモノが多いし中華メーカーであれば8000円程度でホットスワップの完成品が日アマでも売っている。製作費用は8000円程度だったのでわざわざパーツを集めて作る意味は薄い。
個人的なUS配列ライクなJIS用自作キーボードの試作という目的は達成されついでに矢印キーも入れることができたので目標は達成されたと思う。
-
[自キ]FPS専用の左手デバイス(試作)を手配線で作る
FPSゲーム用チルトグリップ対応ホイール付き左手デバイスを手配線で作りました。自キ制作レポートです。
21キー+ホイール+ホイールクリックのレイアウトで自作キーボードを制作しました。
設計方針
左手デバイスといえばRazerやAzeronが有名だと思います。それらの左手デバイスに触発され制作をしました。
EC2等左右非対称の自然に握れるマウスがあるのなら左手も同様なのではないか、傾斜をつけチルトグリップに対応させてみる。
キーボードはロウスタッガードですが手に合わせたキーレイアウトを採用し自然に指を配置できるようにしてみる。
販売されている左手デバイスは親指にアナログスティックを配置したものが多いですが今回マウスホイールを配置してみる。背景としてBFVでスライディング・パルクールをマウスホイールに割り当てるとよいのですができればマウスは左右クリックに指を置いておきたい。なので左手に割り当てようと思ったわけです。
これらのことから 21キー+ホイール+ホイールクリックの左手デバイスを制作することにしました。ダンボールで試しに作ってみていい具合の角度等を模索し 制作に入りました。
出来上がり
左が低くて右が高くなっておりチルトグリップに対応しています。キーボードだと下に押し下げる感じですが、握りこむように持てて安定感があります。
手前が低くて奥が高く、また上の段と下の段を折り曲げ傾斜をつけることで指のみでアクセスしやすくなっています。単純ですがかなり効果は高く押しやすくなりました。キーボードだとZが非常に押しにくいと感じていたのですが指の動線にフィットし解消されました。
親指でほぼSpaceキーから指を動かさずホイール操作を行うことができます。
材料
マイコン Pro Micro- 遊舎工房 ダイオード 1SS178-秋月電子通商 配線用ワイヤ はんだメッキ線 0.6mm-秋月電子通商 耐熱電子ワイヤー 外径1.22mm-秋月電子通商 キースイッチ EPOMAKER AKKO (Vintage White)-Amazon キーキャップ MIHIYIRY PBT キーキャップ-Amazon ホイール周り glorious Model O-から流用 プレート PC板 2mm厚 パームレスト 紙粘土、グリップテープ キーレイアウト
Keyboard Layout Editor (keyboard-layout-editor.com)にて作成しました。
赤線の部分は折り曲げ傾斜がつけられています。手に合わせてキー配置を微調整しました。
組み立て
プレート
トッププレート、ボトムプレート、サムプレートの3枚 についてPC板をアクリルカッターで切り出した
キースイッチ用の穴もアクリルカッターで開ける予定だったが気が遠くなったのではんだごてで溶かし四角く穴をあけた。当然部屋は樹脂が溶けた異臭がひどかった。穴の淵には溶けた樹脂がたまっていてペンチで取り除く必要があった。最後にやすりで削り整えた。もうやりたくない。
折り曲げもはんだごてで熱を加えて行った。
配線
キースイッチ、マイクロスイッチ、ホイールエンコーダをそれぞれはめこみボンドで固定した。
ダイオードとワイヤをはんだ付けし手配線。
配線が汚いしpromicroは固定されていない。とても見栄えが悪いが使用する分には問題ない。
プレート組み立て
それぞれのパーツをねじで留め固定した。
パームレスト
紙粘土を成形し乾燥後グリップテープを張り付けた。
こちらも見栄えは悪いが多少弾力もありグリップ力もあるため性能としては十分。
Firmware
config.h
# pragma once
#include “config_common.h”
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x0001
#define DEVICE_VER 0x0001
#define MANUFACTURER tsuiha
#define PRODUCT leftdevice01
#define MATRIX_ROWS 4
#define MATRIX_COLS 6
#define ENCODERS_PAD_A { D3 }
#define ENCODERS_PAD_B { D2 }
#define ENCODER_RESOLUTION 4
#define MATRIX_ROW_PINS { B1, D4, B4, E6 }
#define MATRIX_COL_PINS { B6, B2, F7, C6, D7, B5 }
#define DIODE_DIRECTION COL2ROW黄色線で示した部分が今回ホイールを使用するのでその分となります。他は行列の指定です。
leftdevice01.h
#pragma once
#include “quantum.h”
#define LAYOUT( \
k01, k02, k03, k04, \
k10, k11, k12, k13, k14, k15, \
k20, k21, k22, k23, k24, k25, \
k30, k31, k32, k33, k34, k35 \
) { \
{ KC_NO, k01, k02, k03, k04, KC_NO}, \
{ k10 , k11, k12, k13, k14, k15 }, \
{ k20 , k21, k22, k23, k24, k25 }, \
{ k30 , k31, k32, k33, k34, k35 } \ }こんな感じの配線にしました。
keymap.c
#include QMK_KEYBOARD_H
#define BASE 0
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
KC_1 ,KC_2 ,KC_3 ,KC_4 , \
KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R , KC_H , \
KC_LSHIFT ,KC_A ,KC_S ,KC_D ,KC_F , KC_B , \
KC_LCTRL ,KC_Z ,KC_X ,KC_C ,KC_SPACE ,KC_V \
),
};
bool encoder_update_user(uint8_t index, bool clockwise) {
if (index == 0) { /*First encoder */
if (clockwise) {
tap_code(KC_J);
} else {
tap_code(KC_K);
}
} else if (index == 1) { /*Second encoder */
if (clockwise) {
tap_code(KC_DOWN);
} else {
tap_code(KC_UP);
}
}
return true;
}黄色線がエンコーダの部分です。Second encoderについてはよくわかりません。公式ドキュメントのコピペです。
JとKにホイールを割り当ててありますが当然普通にマウスホイールを割り当てることもできます。
反省点
見た目はよろしくないが、使用感は非常に満足のいくものだった。
PC板の加工についてだがこれがよくなかった。もっと簡単な方法を検討する必要がある。見立てが甘かったのだが、やっていてほんとに嫌になった。
・ホットナイフを使うのはどうか、はんだごてと大差ないような気もするが多少ましだろうか。
・折り曲げ部は折り曲げるのでなくL字の金具を使うのもいいかもしれない。
・アクリルカットを注文するのはどうだろうか。折り曲げ箇所が多く難がある気がする。
・3Dプリンタを使用するのがよいかと安直に思うのでそのうち導入したい。
左手デバイスというのだからアナログスティックを搭載するのもよいと思う。親指でホイール
操作するのはなかなか快適なのでアナログスティックにこだわる必要はない気もする。
キー配列は手にはあっていたが数字キーが少し指から遠かった。手に合っているのもよいがキー密度を上げ指の移動量を減らす方が重要かもしれない。あるいはazeronのようにマイクロスイッチを用いることで省スペース化し密度を上げるのもいいかもしれない。
本体、パームレストともに見栄えよく高クオリティなものを作りたい。
机の上にキーボードを一つしか置きたくないというようなことがなければ、導入しない手はないというほどには快適であった。チルトグリップなのは好みがわかれるところだが、そうでないものを設計し使用すればよい。
個人的には左右対象マウスを使用するときは使いやすかったが、非対称マウスを使用するときはキーボードの方が使用感がよかった。平面タイプの左手デバイスを制作するのもよいかもしれない。
Razerは1万円、Azeronは2万円とキーボード同等の値段がするが今回制作したものは材料費3000円程度であり格安で最高の快適さを得られた。
-
20250422
stm32のマイコンボード基板とどいていたので実装してみました。手はんだしやすいように選んでいるので手はんだでも難なかったですが、人に寄るような気もしています。
ひとまずブートローダ起動できたので、後日qmkなりarduinoなりで遊んでみようと思います。
あとエンコーダとホールセンサの基板も届いていますので触っていきたいですね。問題は完全に繁忙期で毎日10時帰りなこと。定時帰りしたい。
結局stm32は1こ500円とかするのでrp2040には価格ではかなわないのですが、なんならマイコン周りなんもいらない勢いなので楽そうです。安くキーボードを済ませるならrp2040の自家実装なのでしょうね。でもみてくださいよこれ。5.1kohmはusbに必要なものだし、あとはLDOとコンデンサ2つだけですよ。あとbootのプルアップ抵抗。とてもシンプルだしデカップリングコンデンサは消しても動きそう。
パッケージサイズも大きくてあんまり強み自体があるマイコンではないので、今回のいろいろが終わったら使わなそうではあります。ミニマルな感じはとても好きですがもっと安く高性能で小さいものが新しく出ていますからね、、、、
-
20250413
HEKBD用のdip基板も作成しました。
f042fの評価基板と2軸エンコーダと磁気センサーとmuxのdip基板発注しました。安いとはいえ種類頼むと5k円ぐらいするのですね。高いぜいや安いんですけど。国内で頼むとイニシャル抜きで1枚1000円とかですもんね。
金ないのに買い物をするのでした。
ひと段落といいたいところですがもう4月も中旬のようで。あと2週間でGWですなだから何だというのですけども、新年度を何一つ感じていません。
結局これらの後になりそうな気もしますが手実装するようにすれば試作を安く早く回せるようになるのでそこも同時に進めておきたいところです。分割ならケースも3dpで簡易でいいのだろうし。すると一番手実装しやすいマイコン周りはなんだ?という話題になるのですがどうなんでしょうね。
-
20250412
ちょっと外食してきました。美味。
2軸エンコーダ使ったマクロパッド作ろうという話と、stm32でキーボード作ろうという話がありましたので、同時にこなせばいいねということで進めております。
ioピンがおそらく14引き出せるのでエンコーダ3+16キーのテンキー+エンコーダのマクロパッド作ろうと思っています。
とりあえず評価用の基板を起こしました。promicroおよそ互換ですが手はんだしたいのでチップ部品は1608m使っていて大きいです。stm32f042fの仕様がちょっとめんどくさそうなのでちゃんと動かせるかどうかという不安はあります。このパッケージのもの利点全然ないですね。手はんだがとても簡単というだけです。でかくてピン数も少ないというそれと一緒に磁気キーボード開発用にもセンサーなりmuxなり発注したので、そのdip化基板も起こして一緒に頼みたいです。
マクロパッドの基板も雑に頼んだ方が進んでよいですが送料が増えそうで若干悩みます。
-
20250409
ラピトリキーボード買ってみた
fun60proみたいなやつです。4000円で売ってました。安いね。まえwooting60he+は持っていましたが低apはくそ強いけど面白味はなかったので友人にあげました。で性懲りもなくキーボード買ってしまいました。前情報通りカチャカチャなのですがそんなんゲームに関係ないし、よさそうですね。
そんな興味あるわけじゃないですがいいじゃんと思うのでそのうち記事書くかも。キーキャップ外した時にどっか飛んで行っちゃったのでかけてます。見つからない、、、一般にはゴミみたいな評価ですが、個人的には割といいなあと感じています。
なんかアマプラに広告が追加されていますが、これはひどいですね、、、、、かといって解約はしないのでアマプラには足元見られている気がします。youtubeも去年から課金していますが、アマプラはじゃあ追加課金するかといわれるとラインナップ自体貧弱なので微妙だよな。dアニメ再契約しようか、どんどんサブスク代がかさんでいきますね。便利を買えという話ですがキショいなあと感じてしまいます、、、
amazon自体脱するべきではあるのかもしれないが今さらという話。最近の話ですが、ちょっとちゃんとデバイス製作しようかと思ったのですけどちゃんとしようと思うとかなり期間がかかるわけで、その前にテキトウな磁気キーボード作ってからにしようかななどと思っています。しかし部材買う金もないという現状であります。数万円が捻出できない財布事情よ、、、
-
20250403
最近いろいろが色々でPC触れていなかったというかそもそも何もできていなかったですよ。
キーボード周りでモノが届きました。2軸のエンコーダです。やはりマクロパッド作るならこれないと始まらないですよね。alpsはディスコンしてるのでコピー品でしょうか。ありがたい。
エンコーダはあまりつかうひつようにせまられてきていなかったので自設計で扱うのはだいぶ久しぶりです。いったんfdmでノブ作ったり配列の検討をしたいところです。ここ数か月はシンプルに金がなくてあまり手が付けられていませんね。使うから無くなるのですが、その時しか買えないものが多いですね。
最近の傾向としましては、キーボードの制御部はマイコンボードでもjlcでpcbaでもなく、家で実装が一番いいんじゃねという感じがあります。pcba発注するとなんだかんだで高くはなるし、別に自分でもで切るわけなので、、
いろいろ自由に選べますし、安くもなります。自分用しか作らないのですからなおさら家で実装した方が都合よいですよね。
結局部品入手に回数輸入とかしていると高くつくような気もしますが、社畜の念が強く、日々の生活に意味を感じられないこの頃であった。