やったこと
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にログインできてしまうので、セキュリティ的にはガバガバである。
なので離席するときはこのデバイスを持ち歩かないといけない。
その内、本人確認した上でロック/ロック解除できるようにしたい。
