続たのしい自作キーボード〜PiPi GherkinビルドログとRedmineショートカットキー〜


My Redmine

黒谷です。9月ですが、まだまだ暑い日が続きますね。皆様ご自愛ください。

お土産のPiPi Gherkin

2023年5月開催のRubyKaigi 2023のDay 0に企画されたKeebKaigi 2023に参加したとき、お土産にTALPKEYBOARDさんのPiPi Gherkinをいただきました。


お土産でいただいたTALPKEYBOARDさんのPiPi Gherkin

作ろう作ろうと思いながら1年以上たってしまいましたが、先日、自宅で使っていたHelix PicoのProMicroのUSBポートがもげてしまいました。これはPiPi Gherkinを作りなさいということだなと思い作ることにしました。

部品構成

マイコン

マイコンは当初Raspberry Pi Pico(ラズパイPico)を考えていたのですが、遊舎工房でUSBタイプCコネクタの互換品を見つけたので、それを試してみることにしました。結果としては、ラズパイPicoを使うのと全く同じように動作しました。


Raspberry Pi Picoの互換品

「マイコンを取り付けるときはコンスルーを使うべし」と習ったのでコンスルーも購入しました。


コンスルーも合わせて購入

ダイオード

PiPi Gherkinはダイオードが30個必要です。


ダイオードを購入

キースイッチ

軽くてリニアなスイッチを探して、以下のスイッチを試してみることにしました。

MMD Princess V3 Linear Switch


今回のキースイッチ

キースイッチの取り付けはソケットを使って取り替え可能にしようと思い、ソケットも購入しました。売り切れのショップが多かったのですが、Amazonに出店しているショップで購入できました。


ソケットも入手できた

キーキャップ

価格が安くて良さそうなものがないかなと探していたら、以下のキーキャップに出会い、購入しました。写真よりも実物の色が結構良くて気に入っています。

【セール】XDA PBT キーキャップセット(薄いピンク/手書き調)(10%オフ)


今回のキーキャップ

組み立て

ダイオードのはんだづけ

最初にダイオードをはんだづけしましたが、あとでソケットをはんだづけするときに少し苦労したので、ソケットを先に、ダイオードを後にしたほうが良かったかもしれません。

ダイオードの足をいい感じに曲げて基板に差し込みます。差し込むとき、ダイオードを取り付ける向きがあるので気をつけます。


ダイオードの向き

ダイオードを全部差し込んで、向きを確かめたら、マスキングテープで留めて落ちないようにして、ひっくり返してはんだ付けをしました。


ダイオードをマスキングテープで留めて落ちないようにする

ソケットのはんだづけ

次にソケットをはんだづけしました。基板の表面にはんだづけするのですが、ソケットを載せてからはんだを載せるのが難しいので、先に基板にはんだを少し盛っておきます。


はんだを少し盛っておく

ソケットを載せて、下の写真の矢印の向きにはんだごてを入れて熱するとはんだが溶けてくっつきます。


矢印の向きにはんだごてを入れて熱する

30個はんだづけしました。


ソケットのはんだづけが終わったところ

ダイオードのところにも書きましたが、ソケットのはんだとダイオードがギリギリ接触しそうなところが何箇所かありました。ソケットを先にはんだづけしたほうが良かったかもしれません。

マイコンの取り付け

次にマイコンの取り付けです。コンスルーを取り付けます。


コンスルーを取り付ける

そしてマイコンを取り付けます。


マイコンを取り付ける

キースイッチの取り付け

次にキースイッチを取り付けました。キースイッチから出ている2本のピンが細くて曲がりやすい感じなので、ソケットの穴に対してまっすぐ入るように気をつけました。


キースイッチを取り付けたところ

キーキャップの取り付け

次にキーキャップを取り付けました。


キーキャップを取り付けたところ

足がわりのスペーサー取り付け

ケースを用意していなかったので、足がわりにスペーサーを取り付けました。基板にM2の穴があいているので、それに合うプラスチック製のスペーサーを使いました。奥側を長い足、手前側を短い足にして、少し傾斜をつけました。


スペーサーを取り付けたところ

これで組み立ては完了です!4時間くらいかかりました。

PRK Firmwareの導入

ファームウェアはもちろんPRK Firmwareを使います。また、公開されているPiPi Gherkin用の keymap.rbを使わせてもらいました。 マイコンにファームウェアをコピーして、keymap.rbをコピーしたら、すぐ動きました。PRK Firmwareは楽ちんです!

Redmineのショートカットキーを登録しよう

PRK Firmwareでは、複数キーのコンビネーションをひとつのキーを押すだけで発動するようなキーを定義できます。そこで、Redmineで良く使うショートカットキーを登録してみることにしました。

「編集」と「プレビュー」タブの切り替え

Redmineのチケット編集画面では、説明やコメント欄を記述するとき Markdown などの書式が使えます。入力画面には「編集」タブと「プレビュー」タブがあり、表示を確認しながら記述できます。ただ、キーボードで入力している途中にマウスに持ち替えてタブをクリックするのは面倒ですよね。実はこの切り替え操作にはショートカットキーが割り当てられています。

WindowsのChrome/Edgeの場合は Ctrl + Shift + P、macOSのChrome/Edge/Safariの場合は ⌘ + Shift + P です(残念ながらFirefoxは未対応)。 これをワンキー入力で切り替えられると便利ですよね!そこで、このショートカットキーをキーに割り当ててみました。

以下はmacOSの場合です。キーコンビネーションに「TOGGLE_PREVIEW」という名前をつけて、キーの組み合わせを定義します。

kbd.define_composite_key :TOGGLE_PREVIEW, %i(KC_LGUI KC_LSFT KC_P)

あとは好きなキーの位置に「TOGGLE_PREVIEW」を配置してください。そのキーを押すたびに ⌘ + Shift + P が入力され、「編集」タブと「プレビュー」タブが切り替わります。

送信

Redmineのチケットを入力したあと、マウスに持ち替えてポインタを「送信」ボタンまで動かしてクリックするのは面倒ですよね! 実は送信にもショートカットキーが割り当ててあります。

Windowsの場合は Ctrl + Enter、macOSの場合は ⌘ + Enter です。

編集/プレビュータブの切り替えのときと同様に、名前をつけて定義します。以下はmacOSの場合です。今回は「SUBMIT」という名前で定義しました。

kbd.define_composite_key :SUBMIT, %i(KC_LGUI KC_ENTER)

あとは好きなキーの位置に「SUBMIT」を配置してください。チケットを入力したあとマウスに持ち帰ることなくワンキー入力で送信できます。

前に戻る/次に進む

Redmineのチケット一覧を表示して、上から順番にチケットを見て確認するようなことがよくあると思います。

チケットを表示すると、右上に「前」「次」というリンクが表示され、「次」をクリックする次のチケットが、「前」をクリックすると前のチケットが表示されます。次々チケットを切り替えられるので便利なのですが、マウスを操作しなければならないのがちと面倒です。実はこの操作にもショートカットキーが割り当てられています。

Windowsの場合、前に戻るのは Alt + p、次に進むのは Alt + n が割り当てられています。

macOSの場合、前に戻るのは Ctrl + Opt + p、次に進むのは Ctrl + Opt + n が割り当てられています。

これをそれぞれキーに割り当ててしまえば、ワンキー入力でチケットを行ったり来たりできて大変便利です。

以下はmacOSの例です。「前」に「PREV」、「次」に「NEXT」という名前をつけて定義しました。

kbd.define_composite_key :PREV, %i(KC_LCTL KC_LALT KC_P)
kbd.define_composite_key :NEXT, %i(KC_LCTL KC_LALT KC_N)

選択したテキストを太字にする

チケットに説明やコメントを書くとき、太字にして強調したいときがありますよね!

Windowsの場合は Ctrl + B、macOS の場合は ⌘ + B です。

以下はmacOSの例です。「BOLD」という名前でキーを定義しました。

kbd.define_composite_key :BOLD, %i(KC_LGUI KC_B)

ここに挙げたショートカットキーを定義した keymap.rb を GitHub に置いておきますので、興味のある方はご覧ください。

https://github.com/kurod1492/prk_pipigherkin_redmine

Redmineには他にも便利なショートカットキーがたくさんあります。以下のページにまとめて掲載しています。Redmineをご利用中の方はぜひ一度ご覧いただき、ご活用ください。自作キーボードをお使いの方は、お気に入りのショートカットキーを登録してみてくださいね!

Redmineで利用できるショートカットキー一覧 — Redmine.JP

【スタッフ募集中】
弊社ではAWSを活用したソリューションの企画・設計・構築・運用や、Ruby on Rails・JavaScriptフレームワークなどを使用したアプリケーション開発を行うスタッフを募集しています。採用情報の詳細
弊社での勤務に関心をお持ちの方は、知り合いの弊社社員・関係者を通じてご連絡ください。

My Redmine

こちらの記事もオススメです!
たのしい自作キーボード〜分割キーボードやPRK Firmwareの話〜
キーボードを2つ自作しました。キー配列のカスタマイズにはPRK Firmwareがおすすめです。
ゲオあれこれレンタルでカメラをレンタルしてみた
家電の短期間のレンタルは、購入検討中のものを試すのに便利です。
5年ぶりの台湾訪問とセキュリティカンファレンスHITCON Community 2024に参加した話
アジア最大規模のセキュリティカンファレンスHITCON CMT 2024に参加しました。
My Redmine Global Edition と My Redmine JP Edition の違い
全世界向けの「My Redmine Global Edition」と⽇本国内向けの「My Redmine JP Edition」のサービスの違いを紹介します。
AWS Amplify Gen2 を使ってみた感想
Amplify Gen2の検証で、サンドボックス機能とCDKが開発効率とデプロイの安定性を向上させ、AWSとCDKの知識が重要と確認されました。
ファーエンドテクノロジーからのお知らせ(2024/10/02更新)
2024年10月19日 オライリー本の全冊公開日のお知らせ(もくもく勉強会も同時開催)
ファーエンドテクノロジーが所蔵するオライリー本(全冊)公開日のご案内です。公開日には「もくもく勉強会」も同時開催します。
RubyWorld Conference 2024 (12/5・6開催) にPlatinumスポンサーとして協賛
ファーエンドテクノロジー株式会社は、2024年12月5日(木)〜6日(金)に島根県松江市で開催される「RubyWorld Conference 2024」にPlatinumスポンサーとして協賛しています。
プロジェクト管理ツールRedmineのクラウドサービス「My Redmine」の海外向けサービス「My Redmine Global Edition」の提供を開始
「My Redmine」の海外向けサービスとして、新たに「My Redmine Global Edition」の提供を開始しました。
Redmineの最新情報をメールでお知らせする「Redmine News」配信中
新バージョンやセキュリティ修正のリリース情報、そのほか最新情報を迅速にお届け