オープンソースの画像生成AIをセットアップから使い方まで解説する『Stable Diffusion AI画像生成ガイドブック』(ソシム刊)発売中(→本のサポートページ

こうの史代展はなんだかこうの史代っぽかった

佐倉市立美術館で「漫画家生活30周年 こうの史代展」が開かれている。10月2日まで。行ってみた。

チケットの窓口は係の人が一人だったので、開館時間に行って行列ができると入場までにけっこう時間を取られてしまうかも。土日の開館時も一人でさばいているのだろうか?

そして展示はなかなかのボリュームだった。マンガの展覧会では展示されているマンガを読んでしまう。全部読んで映像作品(執筆の様子を撮影した20分ほどのもの)も見たら4時間以上かかった。

会場は2階と3階に分かれていて、3階は写真撮影可だった(「作品を全ページ撮影するようなのはダメ」とあった)。2階が商業作品で3階がデビュー前とかいうこともなく、写真撮影の可不可をどういうルールで分けているのかはわからなかった。とはいえ会場でシャッター音を聞くことはほとんどなかった。

上の写真は「描く人へ」。こうの史代はときどきこういう怖いマンガを描く。

自分が好きな作品は『この世界の片隅に』や『夕凪の街 桜の国』はもちろんなんだけど『長い道』もお気に入り。基本的にコメディで、お話はしっかりありつつ実験的な表現も楽しめる。しかし今は紙の本は品切れのようだ。

実験的な作品というと『平凡倶楽部』がさまざまな素材や手法で描かれていて、これは生原稿を見る価値があった。

デビューのころや、それより前の作品をいろいろ見られたのもよかった。中学のころからマンガを描いて徹夜をしていたそうで、高校で同人誌に描いた作品も展示されていた。この年齢ですでにちゃんとしたマンガを描いていたんだな。このころの笑いの作り方はまだ定型的にも見えつつ、一方でこうの史代らしくもある。顔の描き方や、等身が低めで手足が大きい画風は大学入学ごろには定まっていたようだ。カケアミの多用もそのころからずっと続いている。

会場の床には順路がテープで示してある。この点線の律儀な感じがなんだかこうの史代っぽいなーと感じた。

3階には「こうのさんにお手紙が書けるよ!」のコーナーがあった。マンガ原稿用紙のようにトンボが切られた色紙と色鉛筆が置かれていて、こうの史代にファンレターを書くことができる。書いた手紙は横にでんと置かれている巨大なぴっぴらさんのポストに投函するようになっていた。このユーモア感覚もこうの史代っぽい。

1階のショップコーナーで売られていたのは図録や既刊のほか、Tシャツ(このコマを使うんだ)、キャップ(後頭部にもネタあり)、ぼおるぺん(商品についている宣伝文句がよい)、巾着袋、複製原画、ポストカード、クリアファイルなど。なかなか充実していた。

図録は会場だけでなく書店でも売られているようだ。お高いけれど300ページ以上のボリュームでテキストも多くて盛りだくさん。

ところで会場のすぐわきにトマソンがあった。守るものがないガードレール。


自作キーボード「ThumbShift2」を設計した

自分で設計したキーボード「ThumbShift5-15TB」をエンドゲームにするつもりだったが、欲が出てきてまたキーボードを自作してしまった。ファームウェアの機能をいろいろ使おうとすると容量が大きくなりすぎてマイコンに入らない。あれとかこれとかを実現するために大容量のマイコンに変え、ついでに設計をちょっと変更した。キーの配列は変わらない。

ThumbShift5-15TBが完成したときの記事
自作キーボードがひとまず完成してしまったがここからが沼
いろいろカスタマイズして見た目がだいぶ変わった
今年自作したキーボードのカスタマイズ記録
ファームウェアの減量に苦労した話
自作したキーボードのファームウェアをVialに対応させようとしたら大変だった

前作「ThumbShift5-15TB」と共通の特徴

数字列やファンクションキーを省略したコンパクトな59キーキーボード
数字キーやファンクションキーはない。無変換キー(変更可能)と一緒にアルファベットキーを押すことで入力する。たとえば「1」は無変換+A、「2」は無変換+S。ファンクションキーはXCV…の行を使う。(標準のファームウェアではF1のみ誤入力に配慮して、異なるキーアサインにしている)
小型のトラックボールを装着可能
AZ1UBALLというミニトラックボールをつけることができる。マウスポインタを移動するだけでなくスクロールモードへ移行してロータリーエンコーダのように使うことも可能。ただしマウスポインタ移動の精度があまり高くなく、マウスいらずにはならないと思う。
親指シフト入力に適したキー配列
Bキーの下にキーが2つ並ぶ、いわゆる「B割れ」の配置になっており、親指シフトキーを割り当てるのにちょうどよい。(現在のところ、親指シフト配列にするのは「やまぶきR」や「紅皿」などのソフトを使う)
CherryMX互換キーとChoc V2キーの両方に対応
背の高いCherryMX互換キーと、背が低い(ロープロファイルの)Choc V2キーのどちらでも装着できる(両種を混在させることはできない)。Gateron LP 3.0キースイッチも装着できると思われる(未確認)。
一般的なロースタッガード配列のため移行しやすい
キーが行ごとに横方向にずれている「ロースタッガード配列」は市販されている一般的なキーボードと共通なので、縦方向にずれている「カラムスタッガード配列」や左右のずれがない「格子配列(オーソリニア)」と比較して、使い始めの学習コストが低くすむ。
Vial対応でキーアサインを変更しやすい
GUIでキーアサインを変更するとすぐにキーボードに反映される。設定ファイルをテキストエディタで書き換えて、黒い画面でファームウェアコンパイルする必要はない。
アクリルカットのパーツを追加してデコレーション可能
基板むき出しのいかにも電子工作という見た目を変え、個性を演出できる。

ThumbShift5-15TBとの違い

マイコンをPro MicroからRP2040-Zeroに変更
Pro Microはメモリが32KBしかなく、ファームウェアの機能を最低限に減らさなければならなかった。RP2040-Zeroのメモリは2MBもある。欲しい機能をたくさん盛り込むことができた。
Vialでタップダンスやコンボを設定できるようになった
これもファームウェアの容量を大きくできるようになった恩恵。
キーボード側のUSBコネクタが筐体の外枠に出てきた
USBケーブルのコネクタ形状によってはスペーサを長く(=キーボードを厚く)しなけれぱならなかった状況が改善された。
デコレーションプレートを装着する際のねじの数が増えた
四隅だけでなく左右の中央部にもねじを配置した。キーボードを手でつかむとき、デコレーションプレートがゆがむことがなくなった。(説明が難しい)
サイズが上下1ミリ、左右2ミリ大きくなった
ねじの数を増やした結果、アクリルの枠が太くなった。それに合わせて全体のサイズも少しだけ大きくなった。
macOSに対応可能
ファームウェアの容量に大幅な余裕が出たため追加可能になった。実際の対応はこれから。

設計時のいろいろ

ThumbShift2の回路図は以下。

最初はピン数が足りるのだからと通常マトリクスで組んだら配線がとても複雑になって手に負えず、結局倍マトリクスに組み直した。またRP2040-ZeroでフルカラーLED(SK-6812MINI-E)を使う場合、電源線は本来レベルシフトが必要なところ、普通のダイオード(1N4148)を1つ入れるだけでよいという話を聞いて実装してみた。問題なく光っている。

(参考:「LEDを配置する - 自作キーボード初心者のためのでかいキーボード設計法|Cheena」)

配線では当初マイコンを裏返しに配置していて、そのまま基板を発注したらファームウェアを更新するにはキースイッチを全部外さないといけなくなるところだった。危なかった。AZ1UBALLをRP2040-Zeroの信号電圧に合わせて3.3Vの電源線につなぐのも、かなり後になってDiscordで指摘された。感謝です。

下はThumbShift2の配線図。左下がちょっと飛び出ているのがUSBコネクタの部分。

Pro MicroをRP2040-Zeroに変更したことで、AZ1UBALLをQMK Firmwareで動作させる方法が変わった。詳しくは以下の記事で解説している。

頒布する予定です

ThumbShift5-15TBは余った基板をほそぼそと人に譲っていたが、ThumbShift2はねじやスペーサを揃えてBOOTHとか遊舎工房できちんと頒布したい。いま準備中です。よろしくお願いします。

追記:9月14日のキーフリで頒布します

9月14日に秋葉原で開催される「キーボードフリーマーケット トーキョー 2025」に出店できることになりました。ここでThumbShift2を頒布します。

完成品1点、キット3点の予定です。またThumbShift5-15TB(完成品1点、キット2点)やそのほか小物も出しますのでぜひお越しください。

URLの後ろの「?utm-source=…」とかを切り落としたい

はてなブログの更新通知メールからブログに飛ぶと、URLの後ろにクエリがついてくる。「?utm_source=subscription_mail&utm_medium=email&utm_campaign=subscription」というもの。長い。そしてこのままだとブクマ数やブクマコメントを正しく取得できない。なのでブログのタイトルをクリックしたりして、このクエリがないURLへ移動している。

noteでも同じように、クエリつきのURLへ飛ぶことが多い。ほかのブログやnoteからのリンク、SNSからのリンク、メールからのリンクなどでクエリにもいろいろ種類があるようだ。収集できたのは以下の3つ。

  • ?sub_rt=share_pw
  • ?sub_rt=share_pb
  • ?rt=email&sub_rt=daily_report_followee_notes

noteはタイトルが記事へのリンクになっていないので、アドレスバーでクエリ部分を削除して移動する。

こういうのが面倒になってきたので、クエリつきのURLからクエリのないURLに自動移動するようにした。TampermonkeyなどのGreasemonkeyスクリプト環境の拡張機能をインストールして、以下のスクリプトを登録した。

// ==UserScript==
// @name         query cutter for Hatena blog and note
// @namespace    https://ima.hatenablog.jp/
// @version      2025-08-07
// @description  cut query '?utm_source=subscription_mail&utm_medium=email&utm_campaign=subscription' and so on.
// @author       @yimamura
// @include      https://*
// @include      http://*
// ==/UserScript==
(function (){
    var newUrl = location.href;

    newUrl = newUrl.replace(/\?utm_source=subscription_mail&utm_medium=email&utm_campaign=subscription|\?sub_rt=share_pw|\?sub_rt=share_pb|\?rt=email&sub_rt=daily_report_followee_notes/g, '');

    if ( newUrl != location.href ) location.href = newUrl;

})();

(こういうスクリプト、多分もうどこかにあるんだろうなーと思いつつ)

しくみは簡単で、今見ているページのURLに特定の文字列(ここではクエリ)が含まれていたら、その部分を削除したURLへ自動的に移動する。

削除して移動したいクエリをこのほかに見つけたら、スクリプトに追記していくつもり。

「戸籍に記載される振り仮名の通知書」

(写真内のQRコードのリンク先はhttps://myna.go.jpです)

「戸籍に記載される振り仮名の通知書」というハガキが本籍地の役所から届いた。今年5月26日に戸籍法が改正され、戸籍にふりがなをふることになった。そこであなたや同居の家族のふりがなをこうしてみたのだけど正しいですか? というもの。

ふりがなが正しかったらなにもしなくてよい。違っていたら届け出る。届出はマイナポータルからできるし、本籍地もしくは最寄りの自治体窓口へ行ってもよい。

法務省に解説のページがあった。

ところで本籍地と現住所がちゃんとリンクしているのだなと思った。本籍地はどこでも自由に指定できる。皇居を本籍地にしている人は数千人いると聞いたことがある。なので本籍地だけわかっても現住所はわからないとなぜか思い込んでいた。でもそんなことはなく、「振り仮名の通知書」に記載される人にも過不足はなかった。ふーん、しっかり管理されていますね。

記載されているふりがなに間違いはなかった。難読でもないですしね。そしてもうすることはない。このハガキが全国の世帯にもれなく送られていると思うとすごいプロジェクトだ。

さらば3Dプリンタ

キットを買って自分で組み立てたデルタ型の3Dプリンタ「K800」を知人に譲った。

これを作った10年前、電子工作のスキルは今ほどではない。本当に完成するのか、ちゃんと動くのかとても不安だったのを覚えている。当時よく聞いていた曲を思い出すと、この時の気分がよみがえってくるくらい。

結果的にメカ部分はうまくできた。でもきれいに出力するのは大変だった。ノズルの温度やフィラメントの送り速度を変えたり、ノズルやホットエンドを交換したり、冷却ファンの強さを変えたり。ヒーテッドベッドを組み込んでABS中心の出力になったらわりといい感じになった。

その後も改造は続いた。電源ボックスを立てるスタンドを作ったり、ステッピングモータードライバーを静かなものに交換したり、エスクトルーダやエフェクターのパーツを3Dプリントサービスに発注したり。アイデアがいろいろ出てくるので「これで完成」という状態には結局ならなかった。最後は造形テーブルを照らすためのLEDテープを取り付けたものの、それを固定するマウンタを出力するところまでは行かなかった。

3Dプリンタは生活上も活躍した。3Dプリンタは一品ものを精度よく出せるので、「これをここにくっつけたい」という用途に向いている。自作の棚につけるフックや充電池ホルダ、ペットボトルを使ったマウンタなどを作った。

こんなふうに書くとわりと楽しくやってきたように思うかもしれない。確かに楽しかった時期もあった。アイデアをデータにし、それを実物として手に取れるのはとてもよい。でも肝心の出力のための調整がだんだんつらくなってきたのだった。出力したいデータがあっても、それをすぐきれいに出力できるわけではない。フィラメントがちゃんと送られて、最後までノズルが詰まらないようにする。調整部分はたくさんあって、今回どれが効くのかはやってみないとわからない。ある程度ノウハウがたまっても、これで万全とはならなかった。ノズルが詰まったらまた交換である。

そう思うと3Dプリンタを使うのがおっくうになっていった。3Dプリンタをいじることそのものが楽しい人ならそういうことはなかっただろう。自分もそういう方面だと思っていたが限度があった。

最近の市販の3Dプリンタは安いし出力もよい。匠の技による調整は必要なく、買ってきてただデータを送ればきれいに出してくれる。ああいうのを見ると、ますます自分の3Dプリンタの大変さが身にしみた。

最近の市販の3Dプリンタ(Bambu LabのA1 mini)

↑いまAmazonで36,600円、公式ショップならクーポン適用で30,800円

そうして死蔵していた3Dプリンタの話をネットでしたら、譲ってほしいという話をもらった。ちょっと前の3Dプリンタをすでに持っている人で、調整が大変なことは理解している。それなら3Dプリンタへの期待値が高すぎることもなくてよいだろう。久しぶりにフィラメントを通さずに動かしてみたところ、基本的な動作に問題はないようだった。そうそう、ちゃんと動くことは動くんだよね。

ということでK800は新天地へ旅立っていった。向こうで楽しくやっていってくれ。

Chromeで使えなくなった拡張機能の代わりを探す旅+古い拡張機能をとりあえず使えるようにする方法

数日前にChromeを起動したら、「これらの拡張機能は最新のポリシーに違反しているので使えなくなりました」のような一覧が出た。もう使っていない拡張機能もあるがいくつかは常用していて、使えなくなると不便だ。代わりを探す旅に出た。

Auto Copy

ブラウザ上で選択した範囲をコピーしてくれる拡張機能。選択するのはコピーするためであり、いちいちCtrl+Cを押さずにすむのはとても便利。

こちらにした。名前は同じでも別の機能拡張である。

設定もいろいろある。フォーム内のテキストを選択したときはコピーしないようにできるのはとてもよい。


AutoPagerize

ページングのあるWebページを閲覧すると、次のページを今見ているページの下にドッキングしてくれる拡張機能

こちらにした。本家は最近、2ページ目までしかドッキングしてくれなかったり、ドッキングされたページの画像が表示されなくなったりしていたのがいずれも解消されて快適になった。

ChromeReloadPlus

指定した時間が経つとタブをリロードしてくれる拡張機能

こちらにした。リロードまでの時間を設定する際、15秒とか15分とかいくつかのデフォルト値が用意されていることと、ツールバーのアイコンに残り時間が表示されることを条件に探した。

SimpleUndoClose

閉じたタブを一覧にしてくれる拡張機能。最後に閉じたタブをまた開くときはCtrl+Shift+Tでいいし、閲覧履歴から探したいときはCtrl+Hでいいが、さっき閉じたタブをもう一度開きたいときにはこれを使っていた。

こちらにした。同種のほかの拡張機能との比較はあまりしなかったので、もっといいのがあるかも。

はてなブックマーク(見ているページのはてブ数を知る)

最新の公式はてなブックマーク拡張機能は、今見ているページを何人がブックマークしているかの数字をツールバーのアイコンに表示してくれない。今回使えなくなった公式はてブ拡張機能(旧)ではできたのに。

こちらにした。ブクマ数が0のときは数字を非表示にして、数字の表示色を青地に白字ではなく赤地に白字にできたらもっといいなあ。そのほうがブクマがあるかないかがわかりやすい。

goodbye "Zenkaku" - さよなら全角英数

Webページ上の全角英数字を半角で表示してくれるすばらしい拡張機能。これが一番のネックで、今のところ代わりを見つけられていない。

作者さんはXで見つけた(@soranchu)。下は2012年のツイート。

しかし2018年4月を最後にツイートが途絶えている。お元気だろうか。Chromeの新しい仕様に合わせてアップデートしてくれないかな。

2025/07/19追記:強制的にオフにされた拡張機能を使えるようにする方法

この方法でとりあえず使えるようになった。「さよなら全角英数」も無事。古い拡張機能を削除してしまった人も再度インストールできる。この方法も期間限定ではあるようだがしばらく延命された。

AZ1UBALLをPro MicroやRP2040-Zero上のQMK Firmwareで使う

AZ1UBALLは、よっぴさん(@4py1)が開発した1Uサイズのトラックボールです。

以前設計したThumbShift5-15TBではAZ1UBALLを接続できるようにしていました。

ThumbShift5-15TBのマイコンはPro Microでしたが、次に設計したキーボードではマイコンをRP2040-Zeroにしました。するとAZ1UBALLを動作させる設定の記述にいくつか追加が必要でした。

RP2040-ZeroでAZ1UBALLを使えるようにするために参考にしたページは以下の2つです。

これらをよく読めばRP2040-ZeroでAZ1UBALLを動作させることができます。しかしせっかくなので2つのページの情報をまとめ直しました。そして追加として、Pro Microでの実装方法のほか、マウスレイヤーへの自動移動や、トラックボールでスクロールを可能にする設定方法なども紹介したいと思います。

Pro MicroでAZ1UBALLを動作させる

Pro MicroでAZ1UBALLを動作させるのは比較的簡単です。回路図では、Pro Microの2番ピン(SDA)と3番ピン(SCL)をAZ1UBALLのSDAおよびSCLにつなぎます。(回路図はThumbShift5-15TBのものです)

QMKでは「rules.mk」に以下を書き加え、コンパイルしたファームウェアをPro Microに書き込めば動作します。

POINTING_DEVICE_ENABLE = yes
POINTING_DEVICE_DRIVER = pimoroni_trackball

Pro MicroはI²Cに使えるピンが2番(SDA)および3番(SCL)と決まっているので、どのピンをI²Cとして使うかなどを指定する必要はありません。

RP2040-ZeroでAZ1UBALLを動作させる

RP2040-ZeroでAZ1UBALLを動作させる場合、回路図で考慮するところが増えます。またQMKでも追加で必要なファイルがいくつかあります。

回路図では、RP2040-Zeroの「3V3」ピンとAZ1UBALLのVCCを結びます。AZ1UBALLは3.3Vと5Vの両方で動作する一方、RP2040-Zeroの信号電圧は3.3Vだからです。

RP2040-Zeroには2つのI²Cデバイスを接続できます。RP2040-Zeroのピン配置を見てみましょう。

RP2040-Zero - Waveshare Wiki

「I2C0」と「I2C1」と書かれているピンがたくさんあります。この中からI2C0のSDAとSCL、またはI2C1のSDAとSCLを選んで任意のピンに接続します。下の回路図では、RP2040-Zeroの4番ピンと5番ピンにAZ1UBALLのSDAとSCLを接続しました。これらはI2C0として扱われます。

次にQMKです。2つの新しいファイルを作成します。以下はI2C0を使う場合の記述内容です。

halconf.h
#pragma once
#define HAL_USE_I2C TRUE
#include_next <halconf.h>
mcuconf.h
#pragma once
#include_next <mcuconf.h>

#undef RP_I2C_USE_I2C0
#define RP_I2C_USE_I2C0 TRUE

#undef RP_I2C_USE_I2C1
#define RP_I2C_USE_I2C1 FALSE

「mcuconf.h」はI2C0を使用するときのみ必要で、I2C1を使用するときは不要かもしれません。(未確認です)

「rules.mk」にはPro Microと同様、以下の記述を追加します。

POINTING_DEVICE_ENABLE = yes
POINTING_DEVICE_DRIVER = pimoroni_trackball

「config.h」ではI2C0とI2C1のどちらを利用するのか、またどのピンをI²Cとして使うかを記述します。SDAは4番ピン、SCLは5番ピン(I2C0)なので以下のようになります。

#define I2C_DRIVER I2CD0
#define I2C1_SDA_PIN GP4
#define I2C1_SCL_PIN GP5

ここで使っているI²CはI2C0ですが、2行目と3行目は「I2C0」ではなく「I2C1」が正しいようです。

これでRP2040-ZeroでAZ1UBALLを使えるようになります。

トラックボールの回転方向とマウスポインタの移動方向が異なる場合

(ここから先は、Pro MicroとRP2040-Zeroで共通のカスタマイズとなります)

これはThumbShift5-15TBのユーザーさん(いるんですよこれが)に教えてもらいました。

自分の場合、AZ1UBALLのトラックボールを上へ転がすとマウスポインタが右へ移動していきました。こういったときは「config.h」に以下の記述を追加します。

#define POINTING_DEVICE_ROTATION_90

トラックボールの回転方向とマウスポインタの移動方向の違いによっては、「90」の部分は「180」や「270」と書くのがよいかもしれません。

トラックボールを動かすと自動的にレイヤーを移動する設定

最近のQMK Firmwareは、トラックボールを動かすと特定のレイヤーへ移動するよう設定できます。QMKの現在のドキュメントでは以下で解説されています。

自動レイヤー移動をオンにするには、「config.h」に以下のように記述します。

#define POINTING_DEVICE_AUTO_MOUSE_ENABLE
#define AUTO_MOUSE_TIME 1000

「AUTO_MOUSE_TIME」はトラックボールの操作を終えてから何ミリ秒後に元のレイヤーに戻るかを指定します。1,000は1秒後で、デフォルトは650(ミリ秒)です。

次に「keymap.c」に以下を追記します。

void pointing_device_init_user(void) {
    set_auto_mouse_layer(4); // 「4」はトラックボール操作時の移動先レイヤー番号
    set_auto_mouse_enable(true);
}

「set_auto_mouse_layer(4);」をkeymap.cに記述する代わりに、config.hに「#define AUTO_MOUSE_DEFAULT_LAYER 4」と記述する方法もあります。レイヤーの管理はkeymap.cで行うので、ここではどこをマウスレイヤーにするかの指定もkeymap.cで行うようにしました。

これでトラックボールの操作時に自動的にレイヤー4へ移動するようになりました。

トラックボールをスクロールモードにする設定

ここはSelf-Made Keyboards in JapanのDiscordで教えてもらいました。

通常のマウスでは、マウスホイールの回転で画面をスクロールさせることができます。AZ1UBALLはボールが一つしかありませんので、トラックボールマウスポインタを移動するモードから画面をスクロールするモードに切り替える方式で実装します。QMKの現在のドキュメントでは以下で解説されています。

以下を「keymap.c」に記述します。

enum custom_keycodes {
    DRAG_SCROLL = SAFE_RANGE,
};

bool set_scrolling = false;

report_mouse_t pointing_device_task_user(report_mouse_t mouse_report) {
    if (set_scrolling) {
        mouse_report.h = mouse_report.x / 3; //トラックボールの左右方向のスクロール速度が速すぎるときは3の数値を大きくします
        mouse_report.v = -mouse_report.y / 3; //トラックボールの上下方向のスクロール速度が速すぎるときは3の数値を大きくします
        mouse_report.x = 0;
        mouse_report.y = 0;
    }
    return mouse_report;
}

bool process_record_user(uint16_t keycode, keyrecord_t *record) {
    if (keycode == DRAG_SCROLL && record->event.pressed) {
        set_scrolling = !set_scrolling;
    }
    return true;
}

これによって、カスタムキーコード「DRAG_SCROLL」が定義されました。keymap.cのキー定義で、任意のキーに「DRAG_SCROLL」を割り当ててください。「DRAG_SCROLL」が入力されるたびに、マウスポインタを移動するモードと画面をスクロールするモードが切り替わります。

ついでに、左クリックするキーコードは「MS_BTN1」、右クリックは「MS_BTN2」、ホイールの押し込みは「MS_BTN3」です。

「DRAG_SCROLL」に割り当てたキーを押している間だけスクロールモードに切り替える実装方法もあり、以下で解説されています。

個人的には、キーを押している間だけスクロールモードにするよりは、モードをトグルで切り替えつつ使う方が便利だと感じました。

スクロールモードでは、トラックボール操作時の自動レイヤー移動が行われません。スクロールモード中にクリックしたいときは「MS_BTN1」を割り当てたキーを押す以外に、AZ1UBALLのボールを押し込む方法もあります。(ボールの押し込みによるクリック操作はマウスポインタを移動するモードでも有効です)

AZ1UBALLはマウスを併用しつつ利用中

AZ1UBALLは便利ですが、これでマウスいらずになるかというとなかなか厳しいとも感じています。トラックボールに触れたり指を離したりする際のわずかな動きが入力され、マウスポインタが動いてしまいがちだからです。クリックしたい場所が小さいと、マウスポインタをその上へピタリと置くのが難しいのです。

これはAZ1UBALLのせいではなく、おそらくQMK Firmwareマウスポインタを動かす部分のできがもう一つだからでしょう。たとえば、ある範囲の加速度でわずかな距離の移動は無視するようにするなどでより高精度に操作できるようになる気がします。といっても自分にはそのようなプログラミングはとても無理なのですが。

現在はマウスをメインに使いつつ、スクロールモードにしたAZ1UBALLを併用するという使い方になっています。手をホームポジションからマウスへ移動することなく親指でスクロールできるので、ウィンドウを切り替えながらスクロールしたいときなどに重宝です。

参考になるかもしれないページ

このページでは、マウスポインタを一気に遠くまで動かせる「加速度モード」や、マウスポインタの移動量を動的に変化させる関数が解説されています。このへんをなんかうまいことやって、マウスポインタの動きを高精度にできたらいいなあ。