22
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

リンク情報システムAdvent Calendar 2018

Day 1

Pro microを使った画面ロックボタン作成

Last updated at Posted at 2018-11-30

この記事はリンク情報システムの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に接続しています。

#動作
IMB_kduuIT.GIF

#まとめ
ボタンひとつで画面ロックができるようになりました。

が、賢明なみなさまはもうお気づきかと思います。

それは会社のPCには勝手にUSB機器を接続しちゃいけないということです。
申請をすればOKかもしれませんが、ボタンを作る以上に面倒なので却下です。

別の手段を考えないといけないですね。

また今回は画面ロック用に作りましたが、コードを書き換えれば他のショートカットキーも
実装することができるので、それをやってみるのもよいかもしれません。

#注意
入力デバイスを作成するので、回路やコードが正しく作成できているか必ずチェックしてください。
間違えたピン番号を指定すると、誤作動の原因となります。

#参考
Arduino キー定義

22
2
2

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
22
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?