From 52e85e4eb212e5c39a460d10e9c64b2fd3b215c2 Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Mon, 13 Sep 2021 19:41:39 +0200 Subject: Add keyboard_layout.lua Change the keyboard layout depending on whether my external keyboard is connected or not. --- keyboard_layout.lua | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 keyboard_layout.lua (limited to 'keyboard_layout.lua') diff --git a/keyboard_layout.lua b/keyboard_layout.lua new file mode 100644 index 0000000..a230f9b --- /dev/null +++ b/keyboard_layout.lua @@ -0,0 +1,35 @@ +-- Copyright (c) 2021 Teddy Wing +-- +-- This program is free software: you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation, either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see . + + +-- Change keyboard layouts depending on presence of external keyboard. + + +keyboard_usb_watcher = hs.usb.watcher.new(function(event) + if event['productName'] ~= 'iMate, USB To ADB Adaptor' + and event['vendorID'] ~= 1917 + and event['productID'] ~= 1029 + then + return + end + + if event['eventType'] == 'added' then + hs.keycodes.setLayout('U.S.') + elseif event['eventType'] == 'removed' then + hs.keycodes.setLayout('QWAZERTY2') + end +end) + +keyboard_usb_watcher:start() -- cgit v1.2.3