MC's journal

Boomtime, the 39 day of Discord in the YOLD 3176

Tangentbordsmappning i FreeBSD, del 2

EDIT: Stoppade in bakåtlänk till tidigare inlägg.

I förra inlägget skrev jag att jag hade hittat ett program på en rysk sida som visade scancodes från tangentbordet i FreeBSD-konsollen. Programmet var av ganska läskig kodkvalitet och jag gissar, utan att kunna ryska, att det var tänkt som ett väldigt snabbt ihophackat exempel i en längre sida som förklarade något om syscons-drivisen.

Jag inspirerades av programmet (snodde de två ioctl:erna, alltså) och skrev ett eget program från grunden, som jag tycker är åtminstone något snyggare, även om det också är ett snabbt hack. Här är en första version:

https://hack.org/mc/hacks/kbdscan-0.1.c

Programmet sätter om terminalen i raw mode, sätter om tangentbordet i konsollen att ge scancodes och visar sedan vilka scancodes som kommer från tangenter som trycks ner och tangenter som släpps upp. Fem sekunder av inaktivitet gör att programmet återställer terminalen och tangentbordet och avslutar.

Jag har ännu inte stoppat in någon signalhanterare, så om en signal avbryter programmet så kommer det inte att återställa terminalen eller tangentbordet. Varning! I övrigt verkar det göra vad det skall.


Written by MC using Emacs and friends.