From 2ce4c2beff75773514796542e422ff9c1edffa04 Mon Sep 17 00:00:00 2001 From: Omar Rizwan Date: Tue, 30 Jan 2024 13:27:22 -0500 Subject: Start on Web UI for identifying & printing connected keyboards --- virtual-programs/keyboard.folk | 6 +---- virtual-programs/web-keyboards.folk | 52 +++++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 5 deletions(-) create mode 100644 virtual-programs/web-keyboards.folk (limited to 'virtual-programs') diff --git a/virtual-programs/keyboard.folk b/virtual-programs/keyboard.folk index 9746af91..fe1730e5 100644 --- a/virtual-programs/keyboard.folk +++ b/virtual-programs/keyboard.folk @@ -1,9 +1,5 @@ set ::debug_keyboard true -proc udevadmProperties {device} { - return [exec udevadm info --query=property --name=$device] -} - proc establishKeyPressListener {keyboard} { set kb [open $keyboard r] fconfigure $kb -translation binary @@ -12,7 +8,7 @@ proc establishKeyPressListener {keyboard} { # Function to check if the device is a keyboard proc isKeyboard {device} { - set properties [udevadmProperties $device] + set properties [exec udevadm info --query=property --name=$device] if {$properties eq ""} { return false } diff --git a/virtual-programs/web-keyboards.folk b/virtual-programs/web-keyboards.folk new file mode 100644 index 00000000..a3a4435d --- /dev/null +++ b/virtual-programs/web-keyboards.folk @@ -0,0 +1,52 @@ +When the keyboards are /keyboards/ { + Wish the web server handles route "/keyboards$" with handler [list apply {{keyboards} { + upvar ^html ^html + html [subst { + + + Status +
+ [join [lmap kb $keyboards { subst { +
$kb
+
+

+ +
+ } }] "\n"] +
+ + + + + }] + }} $keyboards] +} -- cgit v1.2.3