この記事はリンク情報システムの2018年アドベントカレンダーのリレー記事です。
engineer.hanzomon のグループメンバによってリレーされます。
(リンク情報システムのFacebookはこちらから)
#はじめに
私は職場で「Realforce106」というキーボードを使っています。
このキーボードは打ち心地がサイコーで基本的に不満がないのですが、
一つだけ困っていることがあります。
それは「Windowsキー」がないことです。
職場のPCは離席時に画面ロックをしないといけないのですが、
画面ロックのショートカットキーが「Windowsキー + l」なので
「Windowsキー」がないとショートカットすることができないのです。
またPCはセキュリティの関係でネットワークに接続せずに使用しているので
キー配置変更ソフトをダウンロードして使うこともできません。
そこでないなら作ってしまえということで、
スイッチサイエンスの「Pro micro」を使用して画面ロックボタンを作成します。
#作成
##使用したもの
・Pro micro(スイッチサイエンス版)
・抵抗(10KΩ)
・スイッチ(モーメンタリ)
※オルタネイトだとキーが押しっぱなしになってしまうので必ずモーメンタリにしてください
・ケース
・USB TypeBコネクタ
&その他細々とした部品
##開発環境
・Arduino IDE 1.8.6
※書き込み時にはボード選択をArduino Leonardoにしてください
##コード
#include "Keyboard.h"
const int Button = 4;
void setup()
{
pinMode(Button, INPUT);
Keyboard.begin();
}
void loop() {
if (digitalRead(Button) == LOW)
{
Keyboard.press(KEY_LEFT_GUI);
Keyboard.press('l');
Keyboard.releaseAll();
}
}
##回路図
ただのプルアップ回路なので書かない予定です。
もし要望があれば書きます。
##外装
ケースに穴を開けて、スイッチとUSB TypeBのコネクタをつけてます。
内部ではUSB TypeBからUSB microBにコネクタを変換してPro microに接続しています。
#まとめ
ボタンひとつで画面ロックができるようになりました。
が、賢明なみなさまはもうお気づきかと思います。
それは会社のPCには勝手にUSB機器を接続しちゃいけないということです。
申請をすればOKかもしれませんが、ボタンを作る以上に面倒なので却下です。
別の手段を考えないといけないですね。
また今回は画面ロック用に作りましたが、コードを書き換えれば他のショートカットキーも
実装することができるので、それをやってみるのもよいかもしれません。
#注意
入力デバイスを作成するので、回路やコードが正しく作成できているか必ずチェックしてください。
間違えたピン番号を指定すると、誤作動の原因となります。
#参考
Arduino キー定義