Sorry for the cross post. We (Tadpole) have long had our own version of the kb8042 driver, to handle the internal keyboards on our laptops. These appear on the pnpPNP,303 device node, as normal.
With OpenSolaris, the stock kb8042 works almost perfectly. The only problem is that we have added key for Sun keys (e.g. Stop, Again, Cut, Copy, etc.) which it would be nice if we could continue to support. The stock kb8042 driver does not have these mappings. I would like to consider adding the mappings, either unconditionally (they don't seem to collide with prexisting mappings for the most part, module my comments below), or by some other means. This could be via a property on the root node (which could either be a boolean value, or it could be a table of "supplementary mappings"). Alternatively (and much less desirably), we could add these mappings using some internal API or ioctl to adjust them. (Using either a command at early boot, or code in platmod to use layered DDI ioctls.) These additions are listed below - note that these are scanset 2 additions: ps2 usb name comments ------------------------------------------------------- 2 120 Stop already KB8042_STOP, see below 8c 231 R-Meta old code had /, but new code does not 90 227 L-Meta 91 117 Help 92 121 Again 93 122 Undo 94 124 Copy 95 125 Paste 96 123 Cut 97 118 Props 98 119 Front 99 116 Open 9a 126 Find 9b 74 Home apparently some tadpole machines # these are some additional media buttons a1 205 Play/Pause a2 182 Prev Track a3 181 Next Track a4 183 Stop/Eject a5 206 Shuffle On/Off a6 133 Volume up a7 132 Volume down e0-2f 101 Compose collides with 104-key Menu It looks like there were already some SPARC keyboards with a STOP key, or maybe someone added this code in for the benefit of Tadpole platforms. :-) Mapping for 8c does not collide with current code. The code indicates that an earlier version mapped this to "/", but apparently that did not correlate with the documentation. We use the mapping that is assigned to the secondary menu key (on Windows keyboards) for Compose. I would argue, that as most PS/2 keyboards do not have both a Compose key and a Menu key, that the Compose mapping is more generally useful (particularly to international users). However, I am willing to concede that this particular mapping could be changed via a supplementary property. Its also possible that we could #ifdef __sparc these additional entries. Few folks are likely to use PS/2 keyboards on SPARC outside of our customers (although I don't know what our competition uses for keyboards -- I've seen no indication that they are involved in OpenSolaris thus far), and this will make life better for lots of users. So, the question is, how can I get these into the at_keyprocess.c so that we don't have to continue to ship a custom kb8042 driver? Which approach is preferred, and, can I find a sponsor? By the way, I _believe_ these mappings hold true for all of our (Tadpole) platforms (although some platforms might not have some of the keys, particularly the media related buttons). The only thing I'm not sure is whether we have any older platforms that use scanset 3. I do not believe this is true, but I'm researching it. (Our older driver has support for scanset 3 in it. But this could just be legacy heritage from the Solaris 8 sources that it claims as ancestor.) -- Garrett D'Amore, Principal Software Engineer Tadpole Computer / Computing Technologies Division, General Dynamics C4 Systems http://www.tadpolecomputer.com/ Phone: 951 325-2134 Fax: 951 325-2191