1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

「ショートカット、覚えた瞬間がピーク」問題を、Claude Codeと組んで解決した

1
Posted at

作ったもの

ショートカットを ツールごとにまとめて管理 できる Web アプリ「KeyMap」を作りました。
普段はシステムエンジニアをしているのですが、実装は VS Code 上の Claude Code と相談しながら、自分は "使いやすさ" の判断に集中する という作り方で進めました。

🔗 https://keymap-app.vercel.app

keymapanimation.gif

やれることはシンプルです。

  • VS Code / Chrome / Figma のように ツール別 にショートカットを登録できる
  • 登録したショートカットが、キーボード上で光って 見える(キーボードビジュアライザー)
  • JIS / US 配列の切り替えに対応

なぜ作ったのか

ショートカットって、覚えた瞬間がピーク なんですよね。

新しいツールで「お、これ便利」と覚える。でも 3 日経つと半分忘れている。
しかも VS Code・Chrome・Figma… とツールが増えるほど、頭の中の対応表が散らかっていく。

チートシートを印刷したりメモアプリに書いたりもしましたが、
ツールごとにバラバラの場所に散らばるし、テキストの羅列だと「どのキーを押すか」が体に入ってこない。
結局どれも続きませんでした。

欲しかったのは「覚える」を頑張るツールではなく、「忘れない」を仕組みにする ツール。
ツールごとに整理されていて、キーの位置が視覚的にわかる。無いなら作るか、が出発点です。


KeyMap でできること

1. ツールごとにショートカットを管理

アプリ単位でカードを分けて、そこにショートカットを登録します。
「このツールのこのキー、なんだっけ」を探す場所が一箇所に決まるのがポイントです。

2. キーボードビジュアライザー

一番こだわったところです。登録したショートカットを、実際のキーボードの上で光らせて 表示します。
Ctrl + Shift + P とテキストで書かれるより、該当キーがハイライトされる方が「指がどう動くか」が残ります。
ツールを切り替えると光るキーがパッと変わるのも、地味に気持ちいいポイントです。

3. JIS / US 配列の切り替え

JIS 109 / JIS 87 / US 104 に対応。配列で物理位置が変わるので、自分の手元と同じ見た目で確認できます。


技術スタック

  • Vite + React(JavaScript / JSX)
  • 素の CSS + CSS カスタムプロパティvar(--accent) などで配色を一元管理)
  • キーボード配列やショートカットのデータは src/data/ に定義
  • 計測に @vercel/analytics、ホスティングは Vercel

派手なフレームワークは使わず、Vite で軽く立ち上げて React で組む、というシンプルな構成です。
キーボード配列のデータを src/data/ に持って、登録ショートカットをそのキーにマッピングして光らせています。


開発スタイル:「判断は自分、実装は Claude Code と」

今回いちばん書きたいのはここです。

普段 SE として働いているので「自分で全部書く」こともできたのですが、
今回はあえて VS Code 上の Claude Code に実装を任せ、自分は "使いやすさ" の意思決定に回る という分担にしました。
作りたい体験を言葉で渡して、出てきた差分を SE の目でレビューして、また直す。その往復です。

🔗 Claude Code: https://docs.claude.com/en/docs/claude-code/overview

具体例:「ボタンに見えない問題」を一緒に直した

アプリ一覧の項目が、見た目上ただのタイトルにしか見えず、クリックできると気づけない という問題がありました。
そこで Claude Code にこう相談しました。

アプリ一覧にカーソルが当たったときもホバーするようにしてください。
そもそも遷移ボタンというよりタイトルにしか見えないので、一目でボタンとわかるようにしてほしいです。

返ってきた直し方が良くて、

  • 要素を div から <button> に変更 → cursor: pointer やキーボード操作などのネイティブな挙動が自動で有効に
  • ホバー時に var(--accent) の枠線+背景を出して、触れるものだと一目でわかる見た目に

単に色を変えるだけでなく、<button> にすることでアクセシビリティ(キーボード操作)まで一緒に効く——
この「正しい要素を選ぶ」判断を相談しながら詰められたのが、今回の開発の手応えでした。
"こう見せたい" を自分が決めて、"どう実装するのが筋がいいか" を一緒に考える。この分担はかなり快適でした。


つまずいたところ:VS Code 上で Claude を使うこと自体

正直、一番の壁は技術というより 「VS Code 上で Claude と一緒に作る」というスタイルに慣れること でした。

これまで自分でコードを書いてきた人間からすると、最初は勝手が掴めません。

  • どこまで任せて、どこを自分で判断するかの線引き
  • 何をどう伝えれば意図どおりの実装が返ってくるか(指示の解像度)
  • 出てきた差分をちゃんとレビューして取り込む("Ask before edits" で確認しながら進める)

慣れてくると、自分は「どんな体験にしたいか」に集中して、書く部分は任せる というリズムができてきました。
SE として一番効いたのは「コードを書く力」より「何を作るべきか・どう使いやすくするかを言語化する力」だった、というのが個人的な発見です。


これから

  • クラウド同期:複数端末で使えるように(今は端末ローカル中心)
  • チームでの共有:チーム内でショートカット表を共有
  • エクスポート:登録一覧をチートシートとして書き出し

このあたりは、使ってくれる人の声を見ながら優先度を決めていく予定です。


おわりに

「覚える」を頑張るのではなく、「忘れない」を仕組みにする。
そんなツールとして、Claude Code と二人三脚で KeyMap を作りました。

触ってみた感想や「こういう機能ほしい」、バグ報告も大歓迎です。

🔗 https://keymap-app.vercel.app

⌨️ ショートカットキーを、忘れない。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?