25-Sep-2021
[JWM試してみます]

今回もlibkkcネタを引っ張ります。

fcitxの動作がどうもイマイチで(fcitxを再起動させるとマウスボタンが効かなくなってしまい、Ctrl+Alt+BackspaceでXを落とさないといけなくなる)、fcitx-kkcのテストができません。これ、Freezing caused by fcitx restarting from systray in lxqt-panelにあるDo you use openbox? I've once hit by a bug in openbox that it freezes with XIM. Try to disable XIM in fcitx.(yan12125)を踏んでいたようで、要するにOpenboxとfcitxとの相性が悪いということみたいです。

Openboxは随分長く使っていますが、この環境でテストができないようであれば別のウィンドウマネージャを使わなければいけません。今更twm/fvwmを使うのもツラいので、systemdフリーな世界を快適に立ち上げる ―モダン&シンプルな起動ユーティリティ「S6」で見かけた…Obarunで使われているというJWMを試してみました。

OpenBSDの場合はpkg_add jwmでインストールでき、/usr/local/share/examples/jwm/system.jwmrcを適宜編集して$(HOME)/.jwmrcとすれば設定完了です。OpenboxのClearlook風の配色にしたかったので、これはpuppy linuxのJWM Themes Exchangeを参考に設定しています。トレーに関しては画面幅に対する比率でサイズを指定できなかったという理由により、この機能は使用せずOpenboxでお世話になったfbpanelの使用を継続することにしました。

fcitx-kkcの辞書の設定は、fcitxのメニューから設定→入力メソッドの指定でKana Kanjiを指定し工具マークのアイコンをクリック→入力メソッドの設定:その他からできるようになってはいるのですが、むしろエディタで直接/usr/local/share/fcitx/kkc/dictionary_listを書き替えた方が手っ取り早い気がします。デフォルトでは/usr/share/skk/SKK_JISYO.L他を参照するようになっているので、/usr/local/share/skk/SKK_JISYO.L等と修正する必要があります。

今回はfcitx-kkc(SKK辞書あり)で日記を書いています。SKK辞書は必須と言っても良いかもしれません…少なくとも前回入力したくてもできなかった三点リーダーと矢印の入力が可能になっていますし、少しは変換が賢くなった印象があります。これだけ動くなら、あとはEmacs上からもXIM越しではなく何らかの.el経由で入力できるようになってほしいのですが…この辺りはuimやanthyの強い領域なので、何か実現するための可能性がないか調べてみたいところです。難しそうだったらさっさと尻尾を巻いて逃げますけど。53.35kg(21:35)

23-Sep-2021
[なんとか形になってきましたかね]

05-Sep-2021の続き。どうにか動くような感じになってきたので、この日記は入力のテスト目的でibus-kkc越しにEmacs上で書いています。普段はanthy.el越しに書いているのでCtrl-oでかな漢字変換のon/offを切り替えるのですが、ibusの場合はShift-Spaceで切り替えるように設定しています。まだこの操作に慣れていないのでちょっと辛いです(矢印と三点リーダーの出し方が分からないのも辛い)。

libmarisaはportsに収録されているのでこれはこのまま使って、libkkcの-libstdc++についてはclang/libc++(abi)を使うことで決着が付きました。eg++/libestdc++でもビルドが通るには通るのですが、ibus-kkcの動作がおかしくなる、というのが理由です。

ibus-kkcはオリジナルがintltoolを使っているので、これをgettextを使う今風の形に直さないとビルド自体ができません。とはいえ、それさえ何とかなれば何とかなりました。

libmarisaとlibkkc、ibus-kkcが揃えば日本語入力できるのでは?と思っていたものの、この認識は間違っていて、辞書となるlibkkc-dataが無いと全く動きません(libkkcをインストールした際に利用可能となるkkcコマンドを実行するまで気付きませんでした)。

libkkc-dataのソースは、releases(v0.3.5)のAssetsからtar ballを得る必要があります。ただし、ここにあるlibkkc-dataは0.2.7と古く、中に入っているgenfilter.py, sortlm.pyがPython2で書かれているため、(libmarisaのPython bindingsがPython3向けしか無いという理由により)これらをPython3向けに直す必要があります。libkkcに入っている同名のものを突っ込むのがお手軽そうだったのでそうしてみましたが、一応こんな風に文章が書けているということはこれで問題ないと考えて良さそうです。

簡単に文章を入力してみた感触としては、一応入力はできるけど文節区切りの癖はanthyと異なるので(anthyに慣れた身としては)ちょっと慣れるのに時間がかかりそうだということ、矢印と三点リーダーを入力できるよう辞書を整備しないといけないかなということ、(これはibus自体の問題だと思うのですが)Shift-Spaceでibus-kkcの起動に時間がかかるのか「aaaa」と入力すると「aあああ」となることがあるのが気になっています。

慣れている人だとこのあたりの作業は数日もかからず終わるのでしょうけど、流石にautotoolsだのgettextだのといった自分のよく知らない領域が絡むと(これだけやってもまだ理解できていません、うぅ)途端に難易度が上がります。

あとはここまでの作業をportsの形にまとめて、libkkcを試したい人が気軽に試せるようにしておけば良いでしょうか。53.10kg(12:40)

24-Sep-2021補足:ibusの場合、pkg_add skk-jisyoで/usr/local/share/skk/SKK-JISYO.Lを置いておくとこれを参照してくれるようです(「わんこそば」を一発で「椀子蕎麦」と変換してくれるかどうかでチェックできるでしょうか)。おそらくfcitxでもSKK辞書を使うための設定方法があるように思われますが、こちらは分かりません。

18-Sep-2021
[大陸の覇者:やっと64人揃いました]

基本的に、ルビーが30個溜まる度にガチャを回しているので300個貯めて10連はしないというか、できません。ですが、いつの間にかステッド・ギルデロイ・コウレン・ファルコが来てました。ステッド以外は★4ですが、ファルコは討伐でいつの間にか手にしていた盗公子の聖印によって即座に★5化しました。

これで初期実装の64人はすべて揃った状態ですが、ここまで書いたところで「これっていわゆるお金が溜まらない人のプレイスタイルでは?」な気分になってきました…

★5
ハンイット(弓), ニコラ(短剣), トレサ(槍), ドロテア(槍), ティキレン(剣), リュミス(斧), グロッサム(扇), ヴァルカン(本), アデル(短剣), イデア(剣), リトゥ(短剣), ムールゥ(本), ガートルード(斧), プロメ(杖), オデット(本), プリムロゼ(扇), ユーニィ(弓), リオナ(杖), ジルメイラ(弓)

流石にここまで来ると全ての★5を育成〜というのも難しいです。来週から始まる悪戯猫へのお仕置き(経験値ばら撒き)でメインのパーティーをLv90に近づけるか、それとも二軍を育てるか、悩ましいところです。

以下、★4.5。流石にこれを全て★5化するとなると、銀導石の欠片が30000個×5(エルヴィスのみクラスアップの方法が異なるため5人で計算します)などととんでもないことになるので、選択しないといけないのかもしれません。

★5だけで見ていくと、剣(2)短剣(3)弓(2)杖(4)斧(2)扇(2)本(2)槍(1)の18人。属性で数えるなら風(6)闇(2)火(2)雷(2)光(3)氷(3)、ヴィオラに属性攻撃をさせていないために火属性の戦力がリネットくらいしかいないというのがなかなか厳しいです。

★4は全てLv61まで上げています。★3についてはナンナ、フェリーネと八つ子のLv上限は60に達したので、あと14人分のLv上限をどうするか…全員分となるとこれも相当数の銅導石が要るので、お気に入りの★3に限定する必要がありそうです。

授けし者編第2章は富/権力/名声全て終えている、上級討伐をクリアしていない街が残っている、武闘大会は何もやっていない、武器防具の見直しも必要なんだけどやっていない、歴戦武器って何それおいしい?、旅団Lvは31(富)/32(権力)/33(名声)、旅団メンバー数91、旅団メンバーの合計Lv5648、総プレイ時間が278時間20分くらい…そんな状況です。

プレイ時間についてはこういう日記にまとめる間もどんどん経過していきますが、真面目に遊ぼうと不真面目に遊ぼうと、この手のゲームは時間が溶けていくというのは間違いなさそうです。52.55kg(07:05)

12-Sep-2021
[FX798Tなる]

ドローン向け5.8GHz帯VTXを入手してみました。ものすごく小さいです。

tp9114367.jpg

ケースには「FX797T FCC ID:2AGB8-003」と書かれてはいますが、アンテナの接続に同軸ケーブルを使っているためFX798Tで合っています(FX797Tの場合はプリント基板にアンテナが付く形になる)。

早速、ケースから出して簡単にあちこち眺めてみました。

tp9114368.jpg tp9114369.jpg

tp9114370.jpg tp9114372.jpg

カメラ基板と制御/送信基板(ということにしておく)の分離は半田ゴテを使わないと難しそうなのでとりあえずこのままにして、どうにかチップ名が読める写真を見る限りでは…RTC6705が載った、よくあるVTXと考えて良さそうです。

FX798TはJARDのドローン(FPV)の免許・増設に係る手続参考資料にある【参考】JARDにおける保証実績(ドローンに搭載する送信機一覧)(PDF)に掲載されていますし、手続参考資料のページには送信機系統図の例も出ていますので(そのままでは使えません)、DMR機やLoRaモジュールのように測定機室へ持ち込んでスプリアス測定を行わないとダメといった面倒なことにはならない…はずです、多分。

あと、送信機はともかく、FPVモニターやFPVゴーグルといった受信機を用意しないと使えないのでどうにかしないといけないのですが、どうしましょうかね。53.35kg(06:45)

05-Sep-2021
[一筋縄ではいかないっすね…]

libkkc UTと日本語入力の話を読んで、OpenBSDでもMozc使えると良いのになーと思ってNetBSDのpkgsrcを見てみると…大量のパッチを当てないとダメっぽいのでこれは難しいなあと。

で、今使ってるAnthyに並ぶものとしてlibkkcが挙げられているのでこれをビルドできるかどうか試していました。これもこれでなかなか手間がかかり、ずいぶん時間を使ってしまいました。

基本的な手順としては、marisa-trieとこれに含まれるbindingsをインストールし(PyPI版のbindingsではありません)、libkkcをビルドすれば良い訳なのですが…gio, gee(0.8), json-glib, marisaの他にgobject-introspection, vala(valac, vapigen, valadoc)も必要です。void Linux/Debian11だとvapigen周りの動作に何かあるらしくてビルドが進まず、結局Slackware-14.2でビルドを通しました。

模範となる手順さえ確立できれば、あとは同じことをOpenBSD上でやれば良く、折角なのでmarisa-trieのports(ライブラリbindings)を作りながらどうにかやっていた…といった状況です。GLib-2.0のdeprecatedなAPIに関する警告が大量に出ているのがなんとなくイケていない感じではありますが。

なお、OpenBSDの場合は単純にautogen.shを実行するのではなく、AUTOCONF_VERSION=2.69 AUTOMAKE_VERSION=1.15 CXXFLAGS=-lstdc++ ./autogen.shとする必要があります。なお、egcc/eg++(gcc-8.4.0)ではうまくビルドできず、cc/c++(clang)を使う必要があります。CXXFLAGSを使う代わりにconfigure.acのMARISA_GLIB_STATIC_DEPENDENCIES="$postdeps_CXX -lstdc++"、LIBKKC_LIBS="$GIO_LIBS $GEE_LIBS $JSON_GLIB_LIBS -lstdc++"としても良さそうです。

とりあえずlibkkcが得られたとしても、実際に動くかどうかはibus-kkcなりfcitx-kkcなりを用意して、ibusもしくはfcitx上で試してみないことには分かりません。現状、uim-anthyが動いている状況なので根本から挿げ替えるのはなかなか面倒そうですが…仕方がありません。54.65kg(21:05)

06-Sep-2021補足:marisa-trieに関しては、libmarisaとして提案されているようなので、そちらに合わせてbindingsを直すことになりそうです。

12-Sep-2021補足:cofigure.acを直すのではなくmarisa-glib/Makefile.amをlibmarisa_glib_la_LIBADD = $(GIO_LIBS) $(MARISA_LIBS) -lstdc++とし、AUTOCONF_VERSION=2.69 AUTOMAKE_VERSION=1.15 CC=clang CXX=clang++ ./autogen.shのように使用するコンパイラを明示すると幾分マシになります。