自作キーボードとClaude Codeの相性が良すぎる
生きることにこだわりを。魚住惇です。
今年度から勤務校に赴任した新しい情報の先生がいます。いわゆる初任者と呼ばれる先生で、1年間に渡る研修を受けながら教師という仕事をしていきます。打ち合わせで初めて会ったのは3月半ばです。それも初任の先生が来る日を校長先生より「今日来るから」と聞かされて「はえ!?今日ですか!」と慌てていろいろと準備したのも良い思い出です。
魚住は今年度はその初任者研修の教科指導員を担当することになりました。というかもうこれは「魚住の元で修行してこい」的な人事だなと察しました。僕に対しての「お前そろそろ新人を育てる側に回れよ」なのか、新人の先生に「魚住の元で修行を積むのじゃ」なのかは正直わかりません。両方な気もしてきます。ですがこれも僕の人生にとって初めての仕事です。ここ数年、教育実習生を育ててなくて退屈していたところだったんですよ。
教科指導員になると、自分が受け持つ授業の時間数が減ります。その代わりに、減った分は初任者への指導をすることになっています。例えば初任の先生の授業を見に行ったり、反対に僕の授業を見にきたり。その後にはお話だってやります。個人的にはお金を払ってでも聞いてほしい話が山ほどあるので、それを研修中にできるってのが有り難いお話です。
早速ね、この前初めて、その先生の授業を見にいきました。ちょうど情報セキュリティの範囲の授業をしているところでした。するとね、教科書にある内容を、ただひたすらずっと喋っていました。時々生徒たちの反応を伺う行動が見られたものの、ただ一方的に、それこそ情報を伝えるだけで終わりました。彼を責めるつもりも、馬鹿にするつもりもありません。誰しもが最初はこうなるのです。
ただただ、懐かしかったんですよ。自分が若い頃も、こういう授業をやっていたなぁと。なんか記憶が蘇ってしまって。授業ってね、本当に難しいんですよ。バランスが。教科書に書いてあることはどれも重要だし、全部を説明していたら時間がいくらあっても足りません。教科書の範囲をただ終わらせることだけを目的にしてしまうと、どうしても話をするだけで時間がどんどん過ぎていきます。更に言うとこの初任の先生は、むしろ色んなお話を聞くことが好きだそうで、高校時代はひたすら先生の話を聞いてノートを取る授業が楽しかったと話してくれました。
しかし一方で、今赴任している学校が工科高校であることを忘れてはいけません。どちらかというと体を使って何かをしたいタイプで、黙って机に向かうことが性に合わない生徒もいます。彼らをターゲットとした場合、どんな授業が良いだろうかを、初任の先生にも考えてもらうことにしました。
研究授業で進める教科書の単元はわかった。その範囲で大丈夫。でもそこでどんな活動をしますか?ただ教科書を読むだけ?それならYouTubeにもうまい説明の解説動画が山ほどある。あなただったら、目の前の生徒にその単元を効果的に学んでもらうために、どんな工夫をしようと思いますか?頭フル回転で考えよう。心の汗を書こう。あまり考えすぎるのも良くないから、帰りの電車の中だとか、お風呂で温まっている最中だとか、ぼーっとしている時にでも、考えてみてください。
それから少し経って、週明けに出勤したときに内容について聞いてみました。すると50分の授業の間に結構なページ数進める感じだったので、ちょっとまったまったと待ったをかけました。確かに自分が知っている限りを教科書に沿って話を進めるのなら、そのペースで走り切ると思います。でもそれだと、ただ話を聞いている生徒たちはどうなるでしょう。ただなんとなく話を聞いていただけ。テスト範囲だからノートに書いただけ。そうなってしまうのは勿体ないなと、どうしても僕は思うのです。
ちなみにどんな内容にしてみるのかをどうやって考えたのか、考えた方法についても聞いてみました。すると彼は、Copilotと対話しながら授業の内容を考えてみたと答えてくれました。今では自宅ではGemini、学校ではCopilotと扱うデータによってAIを使い分けているようでした。これ自体はとても素晴らしいことです。彼の職員アカウントに対してMicrosoft 365 Copilotのライセンスを付与するよう教育委員会に申請しておいたので、存分に活用してくれている様子が伺えました。
生成AIと一緒に授業案を考えられるようになった。良い時代になったと思います。僕だってもうここ最近は面倒なことはAIくんに任せっきりです。例えば情報Ⅱのシラバスの作成などは、Copilotにお願いしました。ただこれも一発で作ってくれるわけではなかったので、構想を練るチャットと、その結果を基にシラバスそのものを作成するチャットに分けました。これで消費するトークンを抑えつつファイルを作成することができました。
彼の話を聞いていて、彼と僕との間では生成AIの使い方について違いがあるなとも思いました。そもそもね、ここ最近の生成AIって、聞き方にもよりますがこちらが「( ゚д゚)ハッ!」と思えるような内容を返してくれない気がしてくるんですよね。対話を重ねながら考えを深めるようなことをしたくても、AI自身がこちらが感嘆するような答えをあまり見かけなくなりました。僕が何か問いを立てて、それについて聞いてみたとしても「するどい問いですね」「おっしゃる通りですね!」みたいな話から始まり、基本的にはこちらの意見にほぼ全肯定です。
ほいでもって、でもさとこちらが新たな視点で語ると、それもそれで「ごもっともです」だの「実はそうなんですよ」だの言ってくるわけですよ。分かってるなら最初から言ってくれって感じです。これってつまりこちらにその視点がなければそのまま話が進んでいってしまうわけですよね。こちらとしては何か思うところがあればその時点で立ち止まって「なるほどそうか」したいんですよ。むしろそのためにAIと会話しているっていうのに。それがないならただの言いなり下僕と変わりません。僕はそんな部下は求めていないんです。自分との言葉の掛け合いによって良い化学反応が起きて、新たな視点を発見したいだけなんです。
AIが教師の代わりとなりうるのか。そんな議論が生成AIが話題になった頃から議論されてきました。少なくとも知識をそのまま伝達するだけの先生がいるとしたら、すぐにでも代替されそうです。でも現場では、教科書のこの単元を、どうやって教えたら目の前の生徒に響くんだろう、効果的に学習してくれるんだろうって、日夜奮闘している先生方が大勢います。やっとこさ生成AIを使ってくれる方が増えてきたなという印象ですが、AIが全部変わりを務めてくれるのか?と言われたらNOだと確信できます。だからこそ僕も教科指導員として彼と接していって、お互いの勉強になったら最高だなと思うのです。
こちらとしてはもう、「見せてもらおうか、副操縦士と対話した結果とやらを」な気分で対応するのみです。あとは授業の進行案やそこで扱う教材、提示する動画や画像などは、これはもう経験の差が全てです。僕自身も日々経験を積んでいると考えたら、初任の彼との経験の差は常に一定のままになってしまいます。ただこれ自体は受け入れてもらうしかありません。僕だって他の大ベテランの先生との差は既に埋まらないからです。彼には僕の模倣をするのではなく、彼なりの経験の積み方を身に付けてもらい、独り立ちしてもらうしかありません。
今回は、どんな教え方をしたら良いのかではなく、どんな活動を授業の中で行ったら良いかを話し合ってみました。ただ一方的に教師が生徒に向かって話すことで授業を終えるのではなく、個人活動やグループでの協働活動を通した学びというものにチャレンジしてもらうつもりです。ずっと喋っているだけだと、お互いに疲れてしまいますしね。そして活動を通して出てきた成果物について、フィードバックを行っていく。デジタル機器が活用できる今の時代なら、これが1回の授業の中で完結できるのです。本当に良い時代です。
彼なりのやり方も聞きながら、僕もAIの使い方については勉強になるなと思う部分もあります。立場としては教科指導をする側ですけどね、こちらも新しい世代の考え方を学ぶ良い機会となりました。こうやって新しいことを発見していくのが、楽しいんですよね。
今回もちょっとしたこだわりに、お付き合いください。
自作キーボードを再び使い始めた
ちょっと今回は、少しキーボードへのこだわりを語ろうと思います。前回も勢いで書きましたが、4月11日に名古屋で初めての自作キーボードのイベントがありまして、僕もHHKB使いの端くれとして参加してきたんですよ。
ハハ、普通の考えからしたらHHKBだって見た目も名前も変態的なキーボードのはずなのに、このイベントに登場したキーボードたちはどれももっと変態的で、本当に刺激的な1日でした。それぞれのキーボードの作者の方たちが自慢の作品を展示していて、どれも最高の代物でした。そのキーボードを作るまでに、どんな経緯があったんだろう。どんなことに苦労したんだろう。僕は人が作ったキーボードを見たり触ったりするのが大好きなんです。
自作キーボードは問題解決の塊のようなものです。だって普通のキーボードの配列やキーの数、角度などに疑問を持つようになり、そしてそれらを試行錯誤しながら自分なりに解決した。その形が具現化されているのですから。それらを見ていると、作り手のこだわりや、普通のキーボードを使っていてどんなことに困っていたかなど、その人の苦難が見えてくるのです。ああ、だからそのキーをそこに配置したのかーってな具合にね。
僕自身はというと、2025年3月に当時26万円だったキーボード、HHKB Professional HGをPFU社より買う機会があって、それからずっとHHKBに落ち着いていました。その前にはKeyball39という左右分割型で親指トラックボールがついたキーボードにも触れてしまい、どっぷりハマっていました。でも親指トラックボールとキー入力の両立がかなり難しくて、どうしても慣れないなぁと思いながら毎日が過ぎていきました。結局何かあったときは、HHKBだなって自分で結論を出して、それでHHKBに戻ってしまいました。
この判断そのものは悪いことだとは思っていません。その日にどんなキーボードを使うのか。これはコンディションによっても違いますし、気分によっても異なります。
でもね、僕がKeyball39を使いこなせなかった大きな理由があります。トラックボールの存在です。ああそうそう、Keyball39というのは、こういうキーボードです。
これの右手部分には、トラックボールがついています。このキーボードの素晴らしい点は、ホームポジションに指を置いたままトラックボールを触ることができることです。本当に最高です。もうここから手を動かさなくても良いんだ。ああ、素晴らしい。本当に素晴らしい。分割キーボードは以前から色々と試してきましたが、結局使うのを辞めてしまいました。理由は、SlimBladeというトラックボールを結局は使うことになるからです。いろいろと試したんですけどね、結局はHHKBに帰ってきてしまいました。
キーボードはキーボード、マウスはマウス。それが果たして最適解なのでしょうか。そんな考えに新しい可能性を見出したのがこのKeyballというわけです。しかも僕が購入したのはキーが39個しかないバージョンです。だから名称はKeyball39なんです。レイヤー切り替えを多用するからこそ扱えるキーの数が限界ギリギリというわけです。
ではどうして魚住が一時使うのを辞めてしまったのか。それはまさに、トラックボール使用時の制御にありました。このキーボードが登場した当時は、ボールを転がせばマウスポインタは動くものの、マウスクリックやマウス右クリックというボタンをただどこかのキーに割り当てることしかできませんでした。そのままクリックしようとすると、39キーのうち3つのキー(左、中、右)を割り当てるしかありません。でもそれは非常に勿体無い行為であり他の用途に使えなくなってしまうので、やりたくありません。キーボードにおける単推しキーはそれほどまでに貴重なのです。
この問題をどうやって解決したら良いのか。そう考えているうちに、自動マウスレイヤーという機能がQMKに追加されました。どういう機能かというと、トラックボールを転がしている間だけマウスレイヤーとして設定したレイヤーに切り替わるという機能です。つまりマウスレイヤーにクリックなどのボタンを設定しておけば、トラックボールを転がしてからそのキーを押すだけでクリックとして認識してくれるというわけです。これはかなり素晴らしい発明でした。
ところがこれでも問題はまだまだあります。この自動マウスレイヤーからどうやってキーボードのデフォルトレイヤーに戻るかという挙動です。通常の自動マウスレイヤーの考え方では、ボール操作が終わってから最低100ミリ秒から最大1秒までの間にデフォルトレイヤーに戻るよう設定されています。この秒数は50ミリ秒ごとに調整できます。これをどれくらいの間隔にするのかが好みというわけですね。
でも実際にはこの挙動には慣れませんでした。秒数を短くすればボール操作を終えてからクリックするまで追いつけませんでしたし、反対に長くすれば入力したいなと思っていたとしてもマウス操作のままになってしました。特に自分の場合はどれくらいの間隔でキーボードに戻って欲しいのか、マウスのままであって欲しいのかが操作している内容によって違ってきたのです。
マウスキーを押すまで Auto Mouse Layer に留まり誤爆を減らす by negokaz · Pull Request #2 · negokaz/keyball · GitHub
そこで発見したのがnegokazさんという方の「マウスキーを押すまでAuto Mouse Layerに留まり誤爆を減らす」という考え方でした。その名前の通りで、「トラックボールを転がしたということ、どこかをクリックしたいんだよね?それならクリックするまでマウスでいてあげるよ」という挙動をしてくれるようになります。数年前にこの考え方が考案された時には、結構Twitterで話題になっていました。当時の自分もこれを導入してみた記憶があります。ただし自分の場合はそれでも満足できない瞬間というのがありました。当時はこれを直す術がなかったため、このキーボードの使用を断念してHHKB使いに戻りました。
あれから2年ほど経ち、今では生成AIがコードを書いてくれるような時代になりました。今の自分にはClaude Codeがいます。QMKのファームウェアだってC言語で書かれているので編集できないはずがありません。そこで、これまでの不満を言語化しつつ、ClaudeCodeに修正をお願いすることにしました。
言語化する中でわかってきたのが、自分がトラックボールをずっと使っていたい時があるということ。それもそのはずで、普段キーボードを使っている時はキーボードを触っているわけで。マウスやトラックボールを使いたい時に右手をそれらに持ち替えます。で、しばらく操作した後にキーボードで入力する必要が出てきて、その際にまた右手をキーボードに戻す。原則これを繰り返します。当然マウスに手を持っている時は、キーボードに持ち替えない限り、ずっとマウスを持ち続けているわけですよ。
つまり、マウスポインタを触りたい時にはキーボードは使いたくなくて、逆にキーボードを使いたい時はマウスは使いたくないわけです。
これの解決案として考えたのが
トラックボールを操作したら自動マウスレイヤーが作動する(これはそのまま)
クリックしてもマウスレイヤーに留まる
「U」キーを押したら日本語オフでキーボードレイヤーに移動する
「I」キーを押したら日本語オンでキーボードレイヤーに移動する
この動作をするようにソースコードを修正させてコンパイルしてみたら、結構期待する動作になりました。個人的にはトラックボールを使いたい時は結構トラックボールばかりを右手で操作していたので、こっちが良いよって思うまでトラックボールとして動作し続けて欲しかったんですよ。それを再現することができました。ちなみにソースコードはGitHubにて公開しているので、どなたも試すことができます。似たような悩みをお持ちの方に、ぜひ試していただきたい設定です。
ちょっとまた最近、自作キーボードいじりが楽しくなってきました。工科高校の先生方も、特に電気科の先生の食いつきも良くて、ここんとこ語ってばかりいます。ちょっと体調不良な時もありますが、毎日楽しいですよ。
今回のnewsletterは以上となります。
「いいね」を押していただけるとうれしいです。内容に関するご意見ご感想がありましたら、「#こだわりらいふ」をつけたツイートや、Substack内のコメントまでお願いします。



