LoginSignup
3
1

More than 5 years have passed since last update.

スクリーンセーバの起動を抑制する - Arduino Pro Micro(の互換機)を使用

Last updated at Posted at 2018-02-21

はじめに

うちの会社のPCは10分でスリーンセーバが起動してしまう。その度にパスワードを入力して解除するのが面倒なため、スクリーンセーバを抑制するためだけのキーボードを作成した。

簡単に書くと
"Arduino Pro Microで一定間隔でSHIFTキーを押す"
だけのことです。

2018/02/22 : プログラムミス修正しました

用意するもの

Arduino Pro Micro(の互換機)

DSD_2018.JPG

HIDとして動作するArduino Pro Microかその互換機を用意する。IOは使用しないので半田付けは不要です。

USBケーブル

Pro Microを接続するのに使います。

プログラム

Arduinoのサンプルスケッチを参考に、一定間隔でSHIFTキーを押下します。

AntiScreenSaver.cpp
//
// 2018/02/21 First Edition
// 2018/02/22 R1 AntiScreenSaverCountのカウントアップ忘れ修正
#include "Keyboard.h"

unsigned long uptime;
unsigned long uptimeLastKey;
unsigned long AntiScreenSaverCount;

void setup() // initialize the buttons' inputs:
{
    uptime = millis();
    uptimeLastKey = uptime;

    AntiScreenSaverCount = 0;

    // initialize mouse control:
    Keyboard.begin();
    Keyboard.releaseAll();
}

void SendShiftKey(bool bRight)
{
    Keyboard.press(bRight?KEY_RIGHT_SHIFT:KEY_LEFT_SHIFT);
    delay(50);
    Keyboard.release(bRight?KEY_RIGHT_SHIFT:KEY_LEFT_SHIFT);
    uptimeLastKey = millis();
}
void loop() {
    uptime = millis();
    if( (uptime - uptimeLastKey) > 420000L )    // 7分
    {
       SendShiftKey( AntiScreenSaverCount % 2 );   // 右SHIFT,左SHIFTを交互に押下
       AntiScreenSaverCount ++;  // R1
    }
    delay(50);
}

左シフトだけにするとこいつが表示されてしまうので、右左交互に押下するようにしています。
SHIFT5kai.png

起動

Arduinoに書き込み、ターゲットのPCに接続すればスクリーンセーバ抑制が図れます。キー入力時にもSHIFTキーを押下していますが、私は不便していません。

お使いの環境に合わせてキー押下間隔を調整してください。

注意

CtrlやAltはキーとの組み合わせで別の機能が起動してしまうのでお勧めしません。

最後に

うちの会社はUSBポートを使用禁止ですがキーボード、マウス等のHIDはOKです。これもキーボードの一種なので問題ないハズですが、ちょっとという向きには下記もお試しください。

スクリーンセーバの起動を抑制する - vbsバージョン
スクリーンセーバの起動を抑制する - mpgバージョン

3
1
0

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
3
1