iamyutakaの備忘録

自作キーボード初心者が経験を記録してくブログ

Quick7で効率的にスクリーンショットを撮る

Preonicで格子型配列も慣れてきたので、次はマイクロパッドだろうということでQuick7という自作キットを購入しました。

f:id:iamyutaka:20211106220803j:plain

Quick7の組み立て

遊舎工房の説明にあるように、さっと作れましたがLEDが光りませんでした。。原因としては半田ごてでLEDの足を抑えた時にLEDの片側が浮いてしまい、接地すべき場所に足が着いていない状態で半田付けをしまったのではないのかと思います。次に作るときはマスキングテープで固定してから半田付けしようと思いました。とはいえ、ロータリーエンコーダーを含めてキーは認識してくれたので良しとします。キーキャップはMint 60を作った時に余ったものを使いましたが、見た目はなかなかに良いのではないでしょうか。

使い道

私は職業柄、Webアプリのソフトウェアの操作方法を説明するために画面のスクリーンショットを貼り付けたPowerPointの資料を作成することが多いです。資料自体は伝われば良いレベルなのですが、下記のような作業をボタンのクリック操作や画面の遷移ごとに行うので、相当面倒くさいです。

  1. アプリの画面(Webブラウザ)を表示する
  2. + shift + 4 + controlで撮影用のカーソルを出す
  3. 撮影したい領域をマウスでドラッグ
  4. 手を離してクリップボードスクリーンショットを保存
  5. PowerPointを表示する
  6. PowerPointのスライドに貼り付け
  7. PowerPointに新しいスライドを挿入して1に戻る

ブラウザの機能拡張や画面キャプチャソフトも試しましたが、結局のところOS標準の方法に落ち着いていました。しかしながら、2番目の手順のところで、ショートカットを片手で打つことが出来ないので、右手がマウスから離れてしまいます。手がキーボードとマウスを行ったり来たりするのは効率が悪いので、Quick7でこれを解消するためのキーマップを考えていきます。

QMKでキーマップをカスタマイズ

Quick7のキーマップはQMKというソフトウェアを使うことで、自分好みにカスタマイズができます。

docs.qmk.fm

公式ドキュメントが充実しているので、詳しい使い方はそちらを参照頂ければ良いと思います。またQuick7用の雛形が用意されているので、それをちょこちょこと書き換えるだけでも十分に理解が進みました。

github.com

一点、ハマったこととしてはVisual Studio Codeで編集した時に以下のようなエラーが多数出ました。

識別子 "SAFE_RANGE" が定義されていません

公式ドキュメント(Configure VS Code for QMK)にある様にWorkspacewo設定すれば良さそうでしたが、解消しなかったので、./vscode/c_cpp_properties.json内のincludePathにパスを直書きしました。(ここらへんは臨機応変に。。)

"configurations": [
{
"name": "Mac",
"includePath": [
"${workspaceFolder}/**",
"/Users/iamyutaka/qmk_firmware/**"
],

 

完成したキーマップ

というわけで、ぼくのかんがえたさいきょうのきーまっぷです。

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base */
[_BASE] = LAYOUT(
DROPURL, MO(_FUNC1), LCMD(KC_V),
KC_DEL, KC_ENT, LCTL(KC_RIGHT),
SCMD(KC_N), SCMD(KC_5), LCTL(KC_LEFT)
),
(略)
};

BASEレイヤーで以下の様な作業を行えるようにしています。

 

最初に、ブラウザとPowerPointをそれぞれ別の操作スペースに表示しておきます。

  1. ブラウザの操作スペースを表示
  2. 下段の真ん中のキー(+ shift + 5)を押し下げて、スクリーンショットツールを起動
  3. マウスで領域を指定
  4. 中段の真ん中のキー(Enter)を押し下げて、スクリーンショットクリップボードに撮る
  5. 中段の右のキー(control + →)を押し下げて、PowerPointの操作スペースに移動
  6. 上段の右のキー( + V)を押し下げて、クリップボードに保存されているスクリーンショットPowerPointのスライドにペースト
  7. 下段の左のキー(+ shift + N)を押し下げて、新しいスライドを挿入
  8. 下段の右のキー(control + ←)を押し下げて、手順1に戻る

これで、今まで複数キーを押し下げていたショートカットが、左手の指一本で済む様になりました。結果として、右手にはマウス、左手にはQuick7と手放すことなくスクリーンショットを繰り返し撮ることができました。

 

おわりに

キーマップはもう一つの沼と言われています。私もこの記事を書いている途中に、PowerPointの新しいスライドを追加するの部分もQuick7ですべきだなと思いつき、新しいスライドを挿入するキーをアサインしました(手順7)。なので、使っているうちに、また上記のキーマップは変えたくなってくるんだろうなと思います。

 

おまけ

 

 

ロータリーエンコーダーはデフォルトでは音量調整に割り当てられていますが、これを以下のように、操作スペースの移動に割り当て直してみました。ロータリーエンコーダーを物理的にひねると、次々と画面が変わる様は面白いです。もっと良い方法がある気もしますが、とりあえず動いているということで。

bool encoder_update_user(uint8_t index, bool clockwise) {
if (index == 0) { // Left encoder
if (clockwise) {
// tap_code(KC_VOLU);
register_code(KC_LCTL);
tap_code(KC_RIGHT);
unregister_code(KC_LCTL);
} else {
// tap_code(KC_VOLD);
register_code(KC_LCTL);
tap_code(KC_LEFT);
unregister_code(KC_LCTL);
}
}

 

以上、この記事はPreonicで書きました。