From mboxrd@z Thu Jan 1 00:00:00 1970 From: erik quanstrom Date: Wed, 16 Apr 2014 21:53:52 -0400 To: 9fans@9fans.net Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Subject: [9fans] keyboards Topicbox-Message-UUID: d9513f14-ead8-11e9-9d60-3106f5b1d025 in syncing up the various kernels, one of the biggest areas of skew was in */kbd.c. there are 8 different versions. (yeah!) they're all pretty much the same, except for the bit that drives the i8042 for the pc. the reason non-pcs have them is for the benefit of usb, which takes usb key codes and turns them into i8042 scan codes.. and then there is devkbin and devkbmap which interact with kbd.c it's all a maze of twisty passages. it seems to me that the easiest first step is to split this mess into two bits, the i8042 driver and the i8042 scan code processing (including kbin/kbmap). that way, there will be one i8042 driver, and one portable i8042 scan code processor. this has the happy consequence of giving each attached keyboard its own connection, so compose on one keyboard won't foul up a second. i have a working version i'm typing this on. it seems to have worked the first time (modulo the fact i forgot tokenize eats ' for breakfast.) it would be nice in the future to move away from using i8042 scan codes. i think forcing the drivers to output text would be better. but that's going to require breaking some interfaces.... - erik