leopardgeckoのブログ

Macの関連事項など

jRogue for macOSの大幅な方針変更についてお知らせ。

jRogue for macOS (日本語版Rogue 5.4)についての話題です。 バージョン033にアップデートしました。ゲームの内容自体には変更はなくいつものローグですが、その他の部分に結構大きな変更があります。 f:id:leopardgecko:20171117020959p:plain これまでjRogueの和訳は日本語版ローグ・クローン2を可能な限り流用するというスタンスで行ってきました。しかし製作当初からの悩みどころとして、クローン2の和訳をオリジナルのローグに流用するのは果たして正しいなのかどうかという考えがずっと頭に残っていました。あれはあくまでRogue Clone IIのためのものではないかと。また、クローン2では「slime-mold」が「こけもも」と訳されているように意訳が結構入っています。明らかに原語と異なる部分をどうするかという悩みもありました。「slime-mold」の意訳として「こけもも」という言葉を持ってくるセンスは本当に素晴らしいと思うのですが、しかし「slime-mold」は本来「粘菌」を意味する言葉です。もっと拡大解釈をしてもネバネバしたカビや菌であり、果実であるコケモモのことではないのです。

そこでここで一大決心をして、これまでの路線を大きく変更してオリジナルの英語に極力忠実な和訳にするべく全面的に改訂することにしました。意訳は極力避けて直訳に近い形にして、感嘆符の使い方も原文のままにしています。結果として怪物やアイテムの名前などが結構変わってしまいました。日本語版クローン2に慣れ親しんでいた方は違和感があるでしょうがご了承ください。

怪物の名前はかなり変わりましたが、少々説明が必要になると思われるものについて以下で解説します。

「J」の怪物、つまり以前の和訳では「巨大トカゲ」と意訳されていた「Jabberwock」ですが、今回の和訳ではそのまま「ジャバウォック」としています。この怪物の原典は『鏡の国のアリス』で言及される正体不明の怪物です。正体不明である以上は英語圏の人も名前を見ただけではこの怪物がどういうものであるかわからないわけで、そのままカタカナにしてしまうのが正しいのではないかと考えました。ドラゴンに近い形で解釈されることが多いようなので、色をドラゴンに近いものにしてみました。
参考:ジャバウォック - Wikipedia

「K」の怪物、「大はやぶさ」とされていた「Kestral」は日本語では「チョウゲンボウ」というハヤブサ科の鳥です。一般的なハヤブサは英語ではFalconなので和訳は「ハヤブサ」ではなく「チョウゲンボウ」とするべきなのでしょうが、この名前ではマイナーすぎてピンとこない人がほとんどと思われますのであえて「はやぶさ」としました。その代わりと言っては何ですが、色はハヤブサではなくチョウゲンボウっぽいものを選んでみました。
参考:チョウゲンボウ - Wikipedia

「Q」は「大つのじか」と訳されていましたが、「Quagga」は実際には絶滅したシマウマの一種で、シマウマ独特の模様が体の前半分だけにしかないという変わった動物です。日本名は特にないようなのでそのまま「クアッガ」と訳すしかないのですが、これではチョウゲンボウと同じくイメージがわかない人がほとんどでしょうから、苦し紛れに「半シマウマ」としてみました。もっと格好良い名前があったらアドバイスをいただけると嬉しいです。
参考:クアッガ - Wikipedia

「X」は「物まねの怪物」と訳されていてこの訳語は私も好きなのですが、元の英語名の「Xeroc」はどう考えても複写機で有名なゼロックス(Xerox)のパロディです。原義を考えるとそのまま「ゼロック」とするのが正しいように思います。また、色はゼロックスの企業ロゴと同じにして見ました。

また、カラーを全面的に見直しました。モノクロがカラーになるというのは写真や映画のことを考えればリアルさが増すということですから、その一環として怪物をそれぞれ色分けしてみました。各々の怪物に対しては私の主観ですができるだけそれっぽい色を選んでみたつもりです。ただしアイテムはあえて色分けしていません。
また、床の点々とアイテムの色をあえて近いものにしてみました。なぜこれらが近い色である必要があるのかはローグの終盤の展開をご存知の方であればお分かりになるでしょう。部屋の明かりの色は灯りの杖を使った時のメッセージを考えると青色のようですが、それを表現するために床の背景色に青を使ってみました。この対比で暗い部屋の暗さがよりリアルに感じられるようにもなったのではないかと思います。 壁や通路は地下に数十階もあるすごいダンジョンですから、指輪物語でいうところのモリアのようなイメージで古い石造りっぽい色にしています(ローグの世界にドワーフがいるかどうかはわかりませんが・・・)。

和訳やカラーの在り方はまだ改善の余地が多いと思います。ご感想やご意見などいただければ嬉しいです。

GeekToolで天気表示・暫定版

2017/11/21 追記:これまで使用していた天気予報サイトであるAccuWeatherの仕様が変更になったので一時的な対応策としてこの記事を書きましたが、新仕様に対応できたのでGeekToolでお天気表示 改訂版を参照してください。この記事も別のやり方の例として一応残しておきますが、これで得られる天気の情報は少ないです。

MacのデスクトップをカスタマイズできるソフトであるGeekToolの話題です。

以前天気を表示するスクリプトを紹介しましたが、そこで利用していた天気予報サイト(AccuWeather)の仕様が変更になったようで天気を表示できなくなってしまいました。ちょっと調べてみた限りでは簡単には対処できない感じなので、(2017/11/21 追記:実はごく簡単に対処できました。現在ではAccuWeatherがまた使えるようになっています)とりあえず暫定的な情報として他の方法で天気を表示できる方法を紹介します。見た目は以下のようになります。
(実際には天気アイコンはアニメ表示になります。これ全部でひとまとめの表示になるので、残念ながら以前紹介したような細かいカスタマイズはできません。これはこれで格好良いですが・・・ )

f:id:leopardgecko:20171116151900p:plain

準備

まず、天気予報サイトの Dark Sky にアクセスします。そこで表示させたい地名をローマ字で入力するとその場所の天気が表示されるようになり、場所に合わせてURLが変わります。例えば「tokyo koto」(東京都江東区のつもり)と入力すると以下のようなURLになります。

https://darksky.net/forecast/35.6973,139.8267/si12/en

この中の「,」で区切られた二つの数字(この場合は「35.6973」と「139.8267」)が必要になるので記録しておきます。事前準備は以上です。

GeekToolでの作業

まずGeekToolのメイン画面から「Web」をデスクトップにドラッグ&ドロップします。そこでできたGeekletのPropertiesウインドウの中の「URL:」という欄に以下のURLを記載します。(「URL:」という欄がない時は「Address」ボタンを押してください)

http://forecast.io/embed/#lat=35.6973&lon=139.8267&units=si&name=Tokyo

「lat=」と「lon=」の後を先ほど記録しておいた数字に書き換えてください。「name=」の後に入れる文字が表示画面の「Weather for」の後に表示される地名になります。

下記のようにして色やフォントを指定することもできます。上で紹介した画面はこの設定です。

http://forecast.io/embed/#lat=35.6973&lon=139.8267&units=si&text-color=white&color=#ffffff&font=HelveticaNeue&name=Tokyo

「text-color」がテキストの色、「color」は温度表示のグラフの色です。「font」で好きなフォントを指定できます。

参考サイト:

Forecast Embeds

Planckキーボード:MacとWindows(とiOS)で同じキーを使って日本語入力の切替。

今回もPlanckキーボードというよりはQMK Firmwareの話です。

はじめに

MacWindowsでは日本語入力の切り替え方法が違って面倒だなと思うことはないでしょうか。そもそもMac用のキーボードにはWindows用のキーがありませんし、その逆もまた然りです。同じキーボードを使い回すということを考えたことすらない人も多いでしょう。キーリマップソフトを使う手もありますが、そのソフトを入れたマシンでしか使えないのがネックとなります。

しかし、PlanckなどのQMK Firmware対応のキーボードではキーボード側にMacとWin専用のキーを共存させられるだけでなく同時押し(正確には連続押し)を割り当てることもできますから、工夫次第で同じキーでMacWindowsで同じように日本語入力切り替えができるようになります。

Planckを例に話を進めます。MacでもWinでも「Lower」キーをタップすれば英語入力になり、「Raise」キーで日本語入力に切り替わる仕組みを考えます。もちろん長押しで本来の「Lower」「Raise」キーとして動作します。

考え方

まずWindowsの標準機能で「無変換」キーをIMEオフ(日本語入力オフ)に、「変換」キーをIMEオン(日本語入力オン)に割り当てておきます。(具体的なやり方は他サイトを参照してください)

次にPlanckの「Lower」キーにMacの「英数」キーとWinの「無変換」キーの同時押しを割り当て、同様に「Raise」キーにMacの「かな」キーとWinの「変換」キーの同時押しを割り当てます。そうすることによりキーボード側でレイヤーを切り替えたりしなくてもMacでもWinでも同じキーで日本語入力のオンオフができるようになります。 この機能はiPadiPhoneなどのiOS機でも使えます。

やり方

QMK Firmwareのマクロ機能を応用します。
まず「keymap.c」の最初の方に以下のようにマクロとキーコードの宣言を追加します。

enum user_macro {
  UM_EMHL,
  UM_KHKR
};
#define M_EMHL MACROTAP(UM_EMHL)      // 「Lower」キー用のキーコード
#define M_KHKR MACROTAP(UM_KHKR)      // 「Raise」キー用のキーコード

最後の方にマクロの機能を追加します。

const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
{
    switch(id) {
        case UM_EMHL: // タップで「英数」と「無変換」、ホールドで「Lower」
        return MACRO_TAP_HOLD_LAYER( record, MACRO(T(MHEN), T(LANG2), END), _LOWER );
        case UM_KHKR: // タップで「かな」と「変換」、ホールドで「Raise」
        return MACRO_TAP_HOLD_LAYER( record, MACRO(T(HENK), T(LANG1), END), _RAISE );
        };
        return MACRO_NONE;
}

あとは「Lower」のキーコードに「M_EMHL」を指定し、「Raise」に「M_KHKR」を指定すれば、MacでもWinでもiOS機でも同じように日本語入力切り替えができるキーボードの出来上がりです。

Windowsで事前の設定が必要になりますがOSの標準機能だけで出来ることですし、一度設定してしまえば同じキーボードで同じキーが同じように動作するのは楽だと思います。

日本語版ローグ(Rogue 5.4)for macOS よもやま話 その8。<墓標と魔法使い>

jRogue for macOS (日本語版Rogue 5.4)についての話題です。
バージョン030にアップデートしましたので変更内容について若干の説明を。

GUI版の機能追加について

主に2点、スコア表示と墓標表示だけ行って終了するという機能です。非常に地味でゲーム自体には何の関係もないのですが、両方とも元々ローグに備わっている機能なのでGUI版に追加する必要があると以前から考えていたものです。

f:id:leopardgecko:20171101162333p:plain

「スコアを表示する」には説明はいらないでしょう。読んで字のごとくスコアを表示するだけの機能です。ゲームをやらずにスコアを確認したい時に使うものだと思われます。(というかそれ以外の使い道がありません)

「墓標を表示する」の方には少々説明が必要です。これはゲームオーバー時の墓標を表示するだけの機能なのですが、この墓標には殺された怪物(または死因)と取得した金塊の額がランダムに表示されます。なぜこんな機能があるのかよくわからないのですが、ローグは製作者が飽きないように作られているという経緯もあり、単に面白いから実装されている機能なのだろうと思います。色々な怪物の名前や死因を知ることができますから、新たな発見があるかもしれません。

f:id:leopardgecko:20171101110342p:plain

おまけ情報としては、この「墓標を表示する」でしか出てこない怪物(?)がいます。滅多に出てこないのでなかなか見ることはできませんが、興味がある人は頑張って繰り返し表示させてみてください。見たことのないキャラクター名だと思われるかもしれませんが、見つけたらローグシリーズにお決まりの添付文書である【運命の洞窟へのガイド】をもう一度読み直してみてください(特に一番最後のあたり)。この隠れキャラクター(?)については、おそらくネットでは初出の情報だろうと思います。

注意点としては、ここで表示されたものはスコアに記録されてしまいます。金額はせいぜい二桁台程度ですからローグをやりこんで高得点が揃っている人のスコアを邪魔することはないでしょうが、まだ低いスコアしかない人の場合はわけのわからないスコアが混じる可能性があるのでご注意ください。

CUI版の機能追加(ウィザードモード)について

前回は背景色の設定やカーソル表示を選べるようになったことに触れましたが、今回の目玉機能(?)として、ウィザードモードありでインストールできるオプションを追加しました。

f:id:leopardgecko:20171101131523p:plain

ウィザードモードというのは本来はデバッグの用のモードです。アイテムを作り出したり鑑定したり階段がないところでもフロアを自由に上ったり降りたりできるようになったりと万能に近い能力を使えるもので、オプションを指定してソースをコンパイルすることでこのモードに入れるようになります。ローグを普通に遊ぶ分には全く必要ない特殊なモードであり、もちろんゲームバランスはめちゃくちゃになります。

しかしこんなところにも製作者が飽きないようにするというコンセプトが存分に活かされており、ウィザードモード自体が結構凝った作りになっていて普通に遊ぶのとは違った楽しみを味わうことができます。私だけでこの楽しみを独占してしまうのは心が痛みますので、配布するバージョンでも何らかの形で使えるようにしたいと以前から考えていました。

本来はあまり公にすべき機能ではないのでしょうが、このまま歴史の影に埋もれさせてしまうのはあまりにももったいないと感じたので今回はとりあえずCUI版のみの特殊なオプションとして採用してみました。

ウィザードモードが使えるオプションでインストールした場合は、ゲーム中のコマンドとして「+」をタイプすると合言葉を聞かれます。正しいパスワードを入力するとウィザードモードに入ります。パスワードは慎重に隠されており、ソースコードでも暗号化されているのでソースを見てもパスワードはわからないようになっています。よって残念ながら私もここでパスワードを明かすわけにはいきません。ヒントとしては作者の一人であるKen Arnold氏が某所でパスワードを明かしており、検索で見つけることができるでしょう。(以前のよもやま話のどこかにも大きなヒントがあるかも・・・)

日本語版ローグ(Rogue 5.4)for macOS よもやま話 その7。<カスタマイズ>

以前の記事で公開したMac用日本語版ローグ(Rogue)についての雑談です。

頻回のアップデートで申し訳ないのですが、バージョン027をリリースしました。今回の主な機能追加は背景色の設定を変更できるようになったのと、ゲーム終了時には自動でウインドウを閉じたりターミナルを終了したりするようになったことです。CUI版はインストール時のオプションを追加して、背景を変更しなかったりカーソルを常に表示するバージョンでインストールすることができるようにしてみました。以下、それぞれの機能について私見を述べます。

背景色について

f:id:leopardgecko:20171026144452p:plain

当初背景を黒に決め打ちしていたのは、カラー表示する時に背景が白だとかなり見にくくなってしまうためです。Macのターミナルはデフォルトが白背景ですから、それをどうするかというのが問題でした。背景色を変更するオプションを追加しようかと考えたこともあったのですが、基本方針として元のソースコードをいじるのは最小限に留めたいという考えがありました。ターミナルの環境設定をいじれば済む話ではあるのですが、デフォルトで背景が白になるのは何とかして避けたいと思いました。そこで結局起動時に背景を黒にする機能のみを加えたのですが、これで良いのだろうかという疑問はずっと感じていました。

つい最近AppleScriptでターミナルの背景色を変更できることを知り、元のソースをいじらなくてもいけることがわかりましたので今回の機能追加となりました。GUI版に機能を加えるのはAppleScriptを書き換えるだけですから簡単ですが、問題となるのはCUI版の方です。CUI版にどういう形で背景色の設定を盛り込むかと考えた結果、インストール時のオプションで選べるようにしてみました。背景の設定をコロコロ変える人はあまりいないでしょうし、変えたいと思った時でもHomebrewならば再インストールするのは簡単です。CUI版を使う人ならオプションを指定してインストールすることに対して敷居の高さを感じる人は少ないでしょう。

ゲーム終了時の動作について

先週のアップデートでゲームが終わった後にも繰り返し遊べる機能をつけました。また、今回ではゲームを終了した時には自動的にウインドウを閉じる機能を加えました。ターミナルで開いているウインドウがjRogueだけの場合はターミナル本体も終了します。なるべくスタンドアロンのアプリっぽい動作にしつつ、ターミナルへの影響を最小限に留めるための仕様です。

どちらも当たり前の機能のようですが、AppleScriptでやるとなると案外面倒なのです。繰り返し遊ぶ機能のためにAppleScriptの中でシェルスクリプトをループさせるという構造になっています。また、AppleScriptで普通にウインドウを閉じたりアプリを終了させようとするとどうしてもターミナルのアラートが出てしまうので、それをどうやって避けるのかが問題でした。結局、AppleScriptの中のシェルスクリプトからさらにAppleScriptを呼び出すという3重の入れ子構造になってしまいました。その点に興味がある方はjRogueのパッケージを開けてスクリプトを見てください。(その部分は入れ子構造のスクリプトが一行で書いてあるので、ものすごく見にくいですが・・・)

ゲームオーバーになるとウインドウを手動で閉じてまた起動しなければならないのはGUI版の致命的な欠陥だと思っていましたので、これでようやく普通に遊べるアプリになったかなと思います。

カーソルについて

これまであまり触れなかった話題です。オリジナルのRogueではプレイヤーの位置でカーソルが表示される仕組みになっているのですが、jRogueではそれをあえて表示しないようにしています。というのは、Macのターミナルのデフォルトの設定のままカーソルを表示させるとカラー表示の時に肝心の「@」が見にくくなりとても格好悪い感じになってしまうのです。
昔のRogueのプレイ動画を見るとカーソルはアンダーバーで点滅表示になっていましたので、昔の端末ではカーソルを表示しても「@」が見えなくなってしまう状態にはならなかったのかもしれません。Macのターミナルでもカーソルの設定を変えればアンダーバーかつ点滅表示にすることが可能です。実際にやってみたところ、当然ながら「@」が見にくくなることはないですし、見た目もなかなか格好良いのです。

f:id:leopardgecko:20171026154358g:plain

しかし残念ながらAppleScriptではターミナルのカーソル設定で変更できるのは色の表示だけであり、アンダーバーに変えることはできません。そこで苦肉の策として、CUI版ではインストール時にカーソルを表示するオプションを選べるようにしてみました。興味がある方はCUI版をカーソル表示ありでインストールして、カーソルをアンダーバーかつ点滅表示にしてみてください。それがおそらく本来のRogueのプレイ画面です。

ローグのカスタマイズについて

本来オリジナルローグの外観はとてもシンプルなものであり、あちこちカスタマイズする要素を加えるのは邪道かもしれません。しかしローグにはとても長い歴史があり、様々な機種に移植された際の細かな違いが存在します。ローグがどういうものかというイメージは人によって結構な違いがあるものでしょう。自分が昔やりこんだスタイルを再現したい人、オリジナルなのだから元の形にこだわりたい人、自分なりの美しいスタイルにこだわる人、細かいところはどうでもいいから楽しく遊びたいという人などなど、色々なパターンがあるだろうと思います。ローグを配布している者の端くれとしてはそういう様々なニーズに応える必要があるのではないかなと思っています。

しかしスティーブ・ジョブズの信奉者としてはあえてシンプルな形に留めておくのにも意味があるとも思っており、その兼ね合いをどうするのかが悩ましいところです。

日本語版ローグ(Rogue 5.4)for macOS よもやま話 その6。<機能追加と不具合>

以前の記事で公開したMac用日本語版ローグ(Rogue)についての雑談です。

ここ最近は頻回の機能追加や不具合修正が続きましたので、個人的な忘備録も兼ねて追加した機能と修正の大まかな内容を説明します。

機能追加について

f:id:leopardgecko:20171024155553p:plain

主な機能追加はオプション設定が細かくできるようになったことです。これについては初期の段階から考えていたことだったのですが、どうやって実装すべきか決めかねて今まで放置してしまいました。

オプションの中で個人的に重要な要素だと思っているの「terse」、つまり「メッセージの簡潔な表示」です。実際にオンとオフでくらべていただければわかりますが、これがオンになっていると表示されるメッセージが全体的にやや短めになります。最大のメリットは戦闘の最中にスペースキーを押す必要がなくなることで、ゲームがサクサク進むようになります。このオプションを簡単に使えるようにしたいというのが当初からの考えだったので、一応これまでのバージョンでも上級モードを選ぶことによってオンにすることができました。しかし上級モードは識別の巻物が五種類という設定のため、巻物が一種類でterseをオンにするためにはいったんゲームを始めてからオプションを変更するしかない状況でした。今回のアップデートでそれがようやく改善できました。

曲がり角で止まるかどうかは個人的には「止まらない」の一択だと思っているのですが、『運命の洞窟へのガイド』にはあえて止まるのをデフォルトにしているような記述があります。作者の意向を無視するわけにもいかないので、止むを得ず(?)このオプションも入れることにしました。

おまけ的な要素としては、好きな果物の名前を変更できるオプションを追加しました。メッセージ分離版から受け継いだデフォルトの「こけもも」は言葉の響きがかわいくて好きなのですが、『運命の洞窟へのガイド』には「これには君が食べるのが楽しみな果物の名前を入れるべきだ」と書いてあります。それが作者の意向ならば簡単に設定できる仕組みにしなければまずいだろうと考えオプションに加えました。果物の名前は英語や日本語だけでなく絵文字で🍏を指定するようなことも可能です。注意点としては絵文字はターミナルでは半角1文字で表示されて次の文字と重なってしまうので、絵文字の後には半角スペースを加えておいてください。

不具合について

今まで気がつくのが遅れてしまった不具合です。jRogueは特定の条件下で設定保存ができなくなります。jRogueはAppleScriptで書かれており、この不具合はAppleScriptそのものの不具合に関連した現象だと思われます。具体的には、jRogueのアプリが含まれるフォルダごとMacに保存した場合は設定が保存できなくなります。これを防ぐにはアプリだけをMacに保存するか、フォルダごと保存した場合は中のアプリだけをいったんどこか別の場所に移してまた元に戻すという作業が必要です。おそらくMacのセキュリティ機能(具体的にはAppTranslocation)にAppleScriptが対応していないために起こる不具合だと思われます。

こんな説明は読む方も大変でしょうし対処法もわけがわからないものですから、今回のバージョンからはディスクイメージを開くとjRogue.appをアプリケーションフォルダに入れるようにうながすウインドウの背景画像を表示するようにしてみました。これでアプリのみをアプリケーションフォルダに移動することになりますから、設定の保存ができなくなる不具合は避けられると思います。

f:id:leopardgecko:20171024173236p:plain

正直言いますと、こういうスタイルは見た目も格好良くて前から一度やってみたいと思っていたのもあります・・・😅

 

前々回のアップデートで繰り返し遊べる機能をつけましたが、今回の機能追加と合わせてサクサク遊べて細かいところまで好み通りに設定できるローグに近づいたかなと思います。何かお気付きの点やご要望などありましたらお知らせいただければ嬉しいです。😀

Planckキーボードのキーマップ。

はじめに

Planckはファームウェアの書き換えでキーマップを変更できますが、設定ファイルはC言語で書かれているために単にキーを入れ替えるだけではなくある程度複雑な動作も可能になります。

色々試してみましたので、それらの機能をフィーチャーしたキーマップファイルを公開してみます。

ここからダウンロードしてください。

主な特徴

1)デフォルトレイヤーはMac用。ほぼ普通のQWERTY配列のまま。LowerキーとRaiseキーは英数・かなキーとしても使える。このレイヤーはiPadiPhoneなどiOS機にも使える。

2)Windows用のデフォルトレイヤーも用意。Adjustレイヤーから適宜切り替え可能。PlanckはWindowsではJIS配列のキーボードとして認識されるが、レジストリを書き換えたりせずにそのままの状態でMacと同じUS配列のキーボードとして使える設定にした。LowerキーとRaiseキーは無変換・変換キーとしても使える。

3)Lowerは主に数字入力とファンクションキーのレイヤー。テンキー様の配列もあり。

4)Raiseは主に記号入力とメディアキーのレイヤー。

5)移動とマウス操作用のFunctionレイヤーを追加。ポインターの移動速度は三段階で調節可能。Escキーの長押しでFunctionレイヤーがonになる。

6)LowerとRaiseはFunctionレイヤーからロックできる。Lowerをロックすればテンキーとして使えるので数値入力が楽。

7)LED対応。LowerとRaiseをオンにすればLEDが光り、それぞれのレイヤーで光るパターンが違う。

8)サウンド対応。レイヤーをロック・ロック解除したりAdjustキーを押したりするとそれぞれ対応した音が鳴る。

9)マクロ出力(一つのキーで文字列を出力できる)。

 

 LEDとサウンドの動作はこんな感じです。

解説(?)

配列はすでに皆さんお好きなようにカスタマイズしているでしょうから、配列はともかくとして機能の部分で参考になるところがあればと思い公開してみました。zip形式での配布になったのは、keymap.cだけでは機能が再現できないため、config.hとrules.mkも含める必要があったからです。

私が知る限りPlanckの説明としての主な新出事項は、WindowsでJIS配列として認識された場合にUS配列として使える方法だろうと思います。キーマップの単純な置き換えでも一応は使えるのですが、それのみではシフトキーを押しながら「;」や「'」をタップした時の記号の置き換えはできません。そこでその二つのキーに特殊な処置を加えました。

(実はこの二つのキーに限らずシフトキーの動作も含めて全てのキーを一括してJISからUSに変換できる方法もあるのですが、Planckでは数字や記号を別のレイヤーで入力するやり方が一般的なためシフトキーの操作を考慮する必要性があまりないのでここでは省略します。PreonicやGH60などの独立した数字キーがあるキーボードでJISをUSに変換したい方がもしおられたらご一報ください)

マウスキーを使っている人はあまりいないようですが、補助的な使い方には良いかもしれません。スクロールホイールはちょっとスクロールしたい時や横スクロールをしたい時など意外と使えます。

様々な条件によって動作が変わるようになっています。ここがQMK Firmwareの醍醐味だろうと思います。例えばデフォルトのレイヤーの違い、レイヤーがロックされているかどうかの違い、シフトキーが押されているかどうかの違いなどを判定してそれに対応した動作になります。その辺りは個人的に結構苦労しました。

タップダンス(二回タップで動作が変わるなど)も試してみたのですが、タップの判定が結構シビアで使いにくいと感じたのであえてここでは触れません。

最後に

何せド素人が書いたソースコードですからとんでもない間違いがあるかもしれませんが、何かの参考になれば幸いです。