macOS で自作キーボードからジョブカン打刻
様子
用意するもの
- お好きな自作キーボード
- meishi など小さいものだと打刻用ショートカットキーを登録しやすい
- jobcan_slack_electron
jobcan_slack_electron
- Electron 製自作ツール
- ジョブカンを Slack 連携させると使えるようになるスラッシュコマンド (
/jobcan_touch
) を、 Slack API 経由で実行 - レガシートークンが必要、かつコマンド実行のための
command.chat
APIは非公開なのでそのうち使えなくなるかもしれない… - オマケ機能で出勤、退勤時に好きな画像をランダムで表示してくれる
打刻用ショートカットを登録
macOS のショートカットキー設定ではアプリケーションを直接登録することができないので、 Automator でサービスを作ってからショートカットキーとして設定する。
- jobcan_slack_electron をパスの通った場所に配置
- Automator を起動
- 「ファイル」→「新規」→「クイックアクション」
- 「アプリケーションを起動」アクションを追加して、起動アプリケーションに jobcan_slack_electron を選択
- 保存(ここでは
jobcan_touch
という名前を設定)して終了 - macOS の「システム環境設定」→「キーボード」→「ショートカット」→「サービス」に先程保存したクイックアクションのサービスが出現しているはずなので、好きなショートカットキーを設定する。このあとキーボードの専用キーに登録するショートカットになるので、誤爆しないよう複雑なものにすると良い
- 上記で設定したショートカットキーを自作キーボードから叩くために、QMKのキー設定を書く。以下は meishi の例で、誤爆防止のため One Shot Layer 機能を使っている
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT( XXXXXXX, XXXXXXX, XXXXXXX, OSL(1) \ ), [1] = LAYOUT( HYPR(KC_BSLASH), XXXXXXX, XXXXXXX, XXXXXXX \ ), };
- QMKの設定をファームウェアに焼いたら完成。設定したキーを入力すれば、ジョブカン打刻ができるようなった! 🎉
おまけ: Electron Fiddle でアプリを初めて作った感想
- 最小限のElectronアプリをシュッと作れて良い体験だった
- ただ、本当に最小限で、
main.js
,render.js
,index.html
しか編集できない require()
を書くだけで自動的にモジュールがインストール、補完なども有効になる- 保存すれば普通の Electron プロジェクトなので、普通の開発フローに乗せられる
- ただ、本当に最小限で、
- ボイラープレートの作成から、ビルド、実行、パッケージ化がワンタッチでできる
- Gist への Save/Load もワンタッチ
- Gist からリポジトリ化する際には、以下の対応を行った。らくちん
- electron-builder の導入と設定
- GitHub Actions でのビルド自動化