Самоделка представляет собой кнопку из крышки от бутылки, которую нужно нажимать по окончании рабочего дня. Она имитирует нажатие сочетания клавиш Cmd+Q, которое в Mac OS X выполняет ту же функцию, какую в Linux и Windows выполняет всем известное сочетание Alt+F4.

Ниже показаны все компоненты самоделки

Автор припаивает гребёнки к Arduino необычным способом - со стороны компонентов

Помещает в эту выемку в дне корпуса

Получается как на КДПВ в правом верхнем углу

Перевернув среднюю деталь корпуса, помещает в неё кнопку, разрезает пополам перемычку типа "дюпон" и припаивает к контактам кнопки, соединения изолирует термоучадочной трубкой

Переворачивает среднюю деталь вместе с кнопкой обратно, соединяет её с дном, подключает кнопку к выводам GND и A8 Arduino

Пишет скетч
Текст его следующий:

#include <HID.h>
#include <Keyboard.h>

// connected PIN8
const int switch_pin = 8;

int button_state = 0;
int previous_button_state = HIGH;
long last_debounce_time = 0;
const long debounce_delay = 50;

void setup()
{
// We use internal pullup registor 'cause the switch directly connected.
pinMode(switch_pin,INPUT_PULLUP);
digitalWrite(switch_pin, HIGH);

Keyboard.begin();
}


void loop()
{
button_state = digitalRead(switch_pin);
if ((button_state != previous_button_state) && (button_state == HIGH))
{
if ((millis() - last_debounce_time) > debounce_delay)
{
// Exit Program (CMD+Q in mac) & Have a nice day!
// Use KEY_LEFT_ALT + KEY_F4 for PC
Keyboard.press(KEY_LEFT_GUI);
Keyboard.press('q');
delay(100);
Keyboard.releaseAll(); // This is important after every Keyboard.press it will continue to be pressed
last_debounce_time = millis();
}
}
previous_button_state = button_state;
}

Оказывается, что: если в скетче включить встроенный подтягивающий резистор, внешний оказывается не нужен. В тексте необходимо сменить сочетание клавиш на то, которое нужно вам. Залив скетч, мастер устанавливает на толкатель крышку от бутылки

Готово!