英語配列キーボードの右AltをIME起動キーにする

Windows PCにHappy Hacking Keyboard (HHKB Professional)を合わせて使っておりますが、全角/半角キーの無いUS配列なのでIMEの起動切替がAlt+`という知らないと想像もできない組み合わせ。HHKBだとバッククォートが右上なので余計に面倒な感じに。

これに対し、USキーボード愛好の日本人には割とお馴染みの方法としてキーボードドライバをAXキーボードにするという方法があります。AXって何ですの?と言われると、DOS/VだとかIBM PC/AT互換機だのという歴史を紐解くことに…。私も昔はNECのPC-9801や9821、EPSONの国民機(互換機)ユーザーでしたから、スペースバーの右にXFERがあってそれで変換とかしていたわけです。こうなるとIMEじゃなくて日本語入力FEPね。(話がそれた)

ということでスペースの右のキー、右AltキーがIMEの起動キーになることはとても相性が良いわけです。
このAXキーボード指定のやり方、検索すると同じ方法を掲載しているサイトがたくさんあるのですが、私が最も参照していた@ITの「Windowsで右Altキーに[漢字]キーを割り当てる方法(AXキーボード設定を利用する方法)」というページが最近隠れて出てこなくなったので、自分のサイトにも残しておこうというわけで記します。

レジストリエディタで HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters を開いて下記の値を編集。

LayerDriver JPNREG_SZkbdax2.dll
OverrideKeyboardIdentifierREG_SZAX_105KEY
OverrideKeyboardSubtypeREG_DWORD1
OverrideKeyboardTypeREG_DWORD7

一応Windowsシステムkbdax2.dllが存在するかチェックしてからやれということになっていますが、無かったことがないので気にしてません。もしかすると非x86のARM版とかには存在しない可能性も?(見たことないので知りません)
また過去にはOverrideKeyboardSubtypeかOverrideKeyboardTypeのキーが見つからなかったことがあるので(Windows2000だったかな…)そのときはキーを作成して値を設定しました。

これで再起動すると右Altだった部分がAXキーボードの「漢字」キーになっており、IMEの切り替えができるようになります。

ちなみにHHKBは最下段が「Alt、◇、スペース、◇、Alt」という並びになっていますが、私はディップスイッチの切り替えでAltと◇を入れ替えてあり、実際にWindows上では「Win、Alt、スペース、漢字、Win」として機能します。
ここにされにキーマップの変更を行い、右Winをアプリメニューキーとして割り当てておけば、Windowsでは困ることはないかと思います。実際私が便利に使っている。

キーマップの変更は未だにChange Key(ChgKey)というフリーソフトで行っていますが、配布形態が.lzhなので、Windows10だとそのままでは開けません。なので7-zipもインストールするという、一通りの環境整備の流れになっております。

設定後は再起動して反映を確認します。

古いOpenVPNに繋がらないときの対処

OpenVPN機能が内蔵されたルーターなどでバージョンが古い相手に、最新のOpenVPN2.5.xで繋ごうとするとエラーで接続できません。

tls-cipher "DEFAULT:@SECLEVEL=0" 
data-ciphers AES-256-GCM:AES-128-GCM:AES-128-CBC:BF-CBC

configに上記を追加することで、2.5から使われなくなったBF-CBCというcipherを強制して合わせることができますが、将来的になくなるようなので、その時には相手方のルーターもバージョンアップするかリプレースしないといけないことになります。

■OpenVPN 2.5 のサイファの互換性 | OpenVPN.JP

溜まりに溜まったGmailを猛烈に削除

Gmailで一括削除をするには条件を指定して一致するスレッドを全て選択してゴミ箱へ!
そんな解説は普通にでてきますが、自分の手元で削除しようとしてもうまく消えてくれない。

条件を before:2020-01-01 として検索、
全選択→一致するスレッドを全て選択→ゴミ箱マーク
としても、処理が途中で終わっちゃうような感じで結局何も消えてない。

スレッド全て選択せず、1ページに表示されてる50件なり100件だけを削除すると、
しっかりとゴミ箱に入っている。

こりゃおかしいな、ということで悩みましたが
before:2020-01-01 after:2019-01-01 と条件ではさんであげたら、あっさり消えてくれました。
半解放?条件だと指定から処理しきれない何かがあるんだろうなぁ。

問題はその後の「ゴミ箱を空にする」が長くて時間がかかりまくる。

これでまだ2年分ぐらい。10年以上分あるからなぁ。

ちなみに、削除する前に「エクスポート」(Takeout)でメールデータはダウンロードしておきました。
https://takeout.google.com/

子供のスポーツ会場からネット中継してみた

息子はバスケットボールをやっておりますが、コロナ禍で大会の際の観客人数が制限されてしまいまして、他の父母からなんとかネットで見られないかということでやってみました。
副次的な効果として遠方の祖父母にも見てもらえる、帰宅してすぐに今日の試合が見られるという面も良かったです。

プラットフォームをどうするか

最初は練習試合でお試し版。広く公開するものではないのでタブレットからzoomが良いかなぁと思ってやってみましたが、イマイチ。だいたい、タブレットのカメラはスポーツ撮るのに向いてない。そしてzoomはそういうのに疎い人たちにはハードルが高かった。

さらに練習試合があったのでYouTubeで限定公開することにしてみました。カメラもタブレットやスマホはやめて、ハンディカム(ムービーカメラ)からHDMI出力したものをキャプチャーしてPCからストリーミング。
YouTubeは限定公開としてURLを配っておきましたが、スマホやPCで一度開いた後に同じアカウントをテレビで使えば「履歴」や「高く評価」の欄からたどれるということで、家族でリビングで見ていた人もいたそうです。

YouTubeは限定配信でもスケジュールを決めておけば先にURLを発行できるので、これを事前に父母たちに配布します。あとは当日どうなるかがドキドキです。

機材

ムービーカメラはHDMIパススルーとかクリーン出力とかできるものを選ばねばなりません。あと60p撮影できる時代のものなら大体行けるのではないでしょうか。
HDMI出力が、少し古いものでmini HDMI、新しいものはmicro HDMIになっているので、そのへんはケーブルを合わせます。
父母の家庭から持ってきたカメラなので両タイプあって、ケーブルは複数用意しました。

自分の環境ではもう1台カメラを用意して、キャプチャユニットも2台繋げて、片方は試合を追って撮影、片方は固定でスコアボードを写しました。
バスケットボールは得点と試合時間を一緒に表示するのが一般的ですが、それに加えてショットクロック(24秒)もあり、そこまでは一緒に写せなかったので、ショットクロックはカメラに向かってカウントダウンして音声で伝えました。
3台あったら面白かったかもしれません。

カメラ1: SONYのハンディカム。micro HDMI。ズーム操作できるリモコン付き。
カメラ2: Panasonicのビデオカメラ。mini HDMI。フルHD60p対応。
キャプチャ1: Avermedia GC550
キャプチャ2: ラトックシステム RS-HDCAP-4PT
パソコン: HP Elite X2 G2 (corei5-7200U/8GB/256GB)+USB-Cハブ
モバイルバッテリー: 20000mAh程度のもの(磁気研究所のHD-MBPD113W20000PTBKamazonで適当な30000mAhを名乗るものを買いました)

なお、USB3.0接続でデータをやりとりするので、ノイズに強い、安定したケーブルを使った方が無難です。設置したあともぐらぐらしないように、ケーブルには余裕をもたせて、できれば養生テープなどで固定したほうが良いです(テープの使用は会場に許可をとったほうが良いです)。USBが切断、再接続されて画面がブラックアウトということが何度かありました。

電源と三脚

だいたいの会場では電源は使用不可です。なのでカメラ用に大容量バッテリーを買っておきました。古いカメラでも互換バッテリーなら売られています。

パソコンはUSB PDでの充電に対応していたので、PD対応のモバイルバッテリーを用意しました。65Wでの給電が可能なものと、それに対応したC to Cのケーブルが必要です。
HIDISC(磁気研究所)の20000mAhはPDで急速充電しているとLEDが光って便利でした。amazonで適当に買った明誠なるメーカーのものは、30000mAhと書かれていますが実質20000mAhぐらいだと思います。どちらも1時間20分程度の中継をしてほぼ20%くらい残る感じでした。

三脚は会場により使用許可が違うので問い合わせました。当初「使用禁止」といわれていた会場でも、自分たちの客席内で通行や他者の観戦を妨げないならOKという基準を示してもらえました。まぁ観客数が制限されていて少ないので邪魔になることはほとんどありませんが、たくさん座席を使うと消毒作業が手間になるので、会場の利用の注意を見て対処します。

ソフトウェア

会場の音声がうまく入ってこなかったので、当初は外付けのマイクをPCに接続していましたが、会議用マイクで体育館の音なんてとれません。
カメラ1のほうは音声が入ってこなかったので(おそらく設定次第なんでしょうけども、人様のカメラなのであんまりいじりたくなかった)、カメラ2のほうをGC550経由でとってみると、ノイズだらけ。これは後ほどドライバアップデートが出て解消しましたので、カメラの適度にオートゲインが効いた音を使えるようになりました。

配信ソフトはOBS Studioを使用。複数あるキャプチャ映像を、Altキーを押しながらマウスでぐりぐりしてやると部分的に使えるようになりますので、スコアボードを重ねてやります。

通信回線

最初は自分のdocomo系MVNOの4G通信を使いました。速度としては十分足りていたようです。が、容量をなかなか食うのと、大量に通信すると翌日に速度制限を食らうので、別途プリペイドのデータ通信用SIMを買いました。使い捨て感覚です。

楽天モバイルも検討しましたが、試合会場によっては電波が入らないという事態がありまして(田舎の体育館ならなおさら入らず、入ってもパートナー回線になってしまう)、会場によって使い分けです。事前に入れるなら中で通信してみたほうが良いです。

なお、東京の代々木体育館では楽天モバイルがバッチリでしたが、5G/4Gの切替でもたつくので、4G固定にして使いました。

通信回線に関しては、MVNOを使っていたときは通信専用のタブレットからのテザリングで問題ありませんでしたが、楽天モバイルはDSDV端末で同居のドコモ回線での音声通話もあり、途中で着信したときに通信が切れるというハプニングがありました。普段通話で使っている電話機とは別の、通信専用端末での運用が良さそうです。
なにせ、大事な試合を見たい人たちから「映像がおかしいんだけど?」と電話が来ちゃうこともありますので…

感想

ネット中継が個人のレベルでここまでできる時代になったなぁというのは驚きませんが、むしろ見る側のリテラシーも上がったなぁと思います。70歳超えた祖父母が遠方で見てるってなかなかですわ…

WordPressからフォームでメールを送るとGmailに拒否される

WordPress + Contact Form 7でメールを送ってもらっていたサイトが、2月あたりからGmailに拒否されるようになってしまった。GmailがSPAM対策強化をしていたのでそれが関係するだろうということで調査。

SPFに対応するのは必須。しかしSPFがPASSしても拒否される。メールを見てみると、いわゆるenvelope fromのアドレスが異なっていた。
シェルから echo ‘test’ | mail -s ‘test’ -r (自ドメインのアドレス) (送信先Gmailのアドレス) とするとテストできるが、これは通る。
しかしWordpressから送ると apache@サーバー名 で送られてしまう。

WordPressのメールの仕組みはenvelope fromを書き換えないし、CF7ではReturn-Pathを設定しても反映されないようだ(WP関数内で落とされる)。
結局このへんの回避のために WP Mail SMTP というプラグインを導入。いろいろリッチなオプションを求められますが最低限でOK。
「送信元アドレスを返信先 (return-path) として設定」このチェックが重要。

これでGmailにも拒否されなくなりました。もっとやるならDKIM、dmarc対応までやらねばならない。