guides:keyboard
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| guides:keyboard [2024/01/29 20:54] – osnr | guides:keyboard [2024/01/31 18:06] (current) – osnr | ||
|---|---|---|---|
| Line 11: | Line 11: | ||
| ---- | ---- | ||
| - | In a virtual program paste this program: | + | Go to the Keyboards page on your Folk's web server: |
| - | < | + | http:// |
| - | proc udevadmProperties {device} { | + | |
| - | return [exec udevadm info --query=property --name=$device] | + | |
| - | } | + | |
| - | proc findEventPath | + | {{:guides:pasted: |
| - | set pattern {DEVNAME=(/ | + | |
| - | set capturedMatch "" | + | |
| - | + | ||
| - | if {[regexp -- $pattern $str allMatch capturedMatch]} { | + | |
| - | return true | + | |
| - | } else { | + | |
| - | return false | + | |
| - | } | + | |
| - | } | + | |
| - | + | ||
| - | proc isKeyboard {device} { | + | |
| - | set properties [udevadmProperties $device] | + | |
| - | if {$properties eq "" | + | |
| - | return false | + | |
| - | } | + | |
| - | set hasEventPath [findEventPath $properties] | + | |
| - | # Check if device is a keyboard and not a mouse | + | |
| - | set isKeyboard [string match *ID_INPUT_KEYBOARD=1* $properties] | + | |
| - | set isMouse [string match *ID_INPUT_MOUSE=1* $properties] | + | |
| - | set isPCI [string match *pci-* $device] | + | |
| - | return [expr {$isPCI && $isKeyboard && $hasEventPath}] | + | |
| - | # return [expr {$isPCI && $isKeyboard && !$isMouse}] | + | |
| - | } | + | |
| - | + | ||
| - | set allDevices [glob -nocomplain / | + | |
| - | set keyboards [list] | + | |
| - | + | ||
| - | foreach device $allDevices { | + | |
| - | set keyboardCheck [isKeyboard $device] | + | |
| - | set notInList [expr {[lsearch -exact $keyboards $device] == -1}] | + | |
| - | if {$keyboardCheck && $notInList} { | + | |
| - | lappend keyboards $device | + | |
| - | } | + | |
| - | } | + | |
| - | + | ||
| - | Wish $this is outlined white | + | |
| - | foreach kb $keyboards { | + | |
| - | Wish $this is labelled " | + | |
| - | puts " | + | |
| - | } | + | |
| - | </ | + | |
| - | + | ||
| - | When you hit save this will display the connected keyboard' | + | |
| - | + | ||
| - | {{guides:folk_kb_table.jpg?700px}} | + | |
| - | + | ||
| - | and in the journal ('' | + | |
| - | + | ||
| - | < | + | |
| - | Dec 14 19:00:24 folk0 make[30201]: | + | |
| - | Dec 14 19:00:24 folk0 make[30201]: | + | |
| - | Dec 14 19:00:24 folk0 make[30201]: | + | |
| - | </ | + | |
| ---- | ---- | ||
| Line 77: | Line 21: | ||
| :!: **If no keyboards appear in the list** | :!: **If no keyboards appear in the list** | ||
| - | This is known to happen with Bluetooth keyboards. You can put it into ''/ | + | This is known to happen with Bluetooth keyboards. You can put it into ''/ |
| ---- | ---- | ||
| - | Put this claim into a new virtual program: | + | With the page open on your computer, type some stuff on your keyboard and see which keyboard entry it appears on. |
| - | < | + | If you can, put card stock or thick paper into your printer (so the keyboard |
| - | Claim $this is a keyboard | + | |
| - | </ | + | |
| - | Print this out onto card stock or thick paper so it will resist crumpling over time. Tape this to the bottom of your keyboard and you now have a keyboard (which should have an attached editor automatically): | + | Tape the printed program |
| {{guides: | {{guides: | ||
guides/keyboard.1706561651.txt.gz · Last modified: by osnr
