やったこと
PCのロック/ロック解除(パスワード入力)がめんどくさいのでワンタッチでロック/ロック解除できるUSBデバイスを作った。
Windows用。Arduino Microを使用。
仕様
- PC側にはUSBキーボードとして認識される
- 左のボタンを押すとPCのロック(Windowsキー+'L'キー押下)を行う
- 右のボタンを押すとPCのロック解除(パスワード文字列入力+エンターキー押下)を行う
配線図
ソースコード
注意:
ピンモードはかならずINPUT_PULLUPにすること。
それ前提の配線にしてあるので。
#include "Keyboard.h"
void setup() {
pinMode(3,INPUT_PULLUP);
pinMode(4,INPUT_PULLUP);
Keyboard.begin();
}
void loop() {
if (digitalRead(3) == LOW ) {
Keyboard.print("password"); //login
Keyboard.press(KEY_RETURN);
Keyboard.releaseAll();
delay(100);
while(digitalRead(3) == LOW);
}
else if( digitalRead(4) == LOW) {
Keyboard.press(KEY_LEFT_GUI); //lock
Keyboard.press('l');
Keyboard.releaseAll();
delay(100);
while(digitalRead(4) == LOW);
}
}
問題
当然ながら誰でもPCにログインできてしまうので、セキュリティ的にはガバガバである。
なので離席するときはこのデバイスを持ち歩かないといけない。
その内、本人確認した上でロック/ロック解除できるようにしたい。