On Wed, 28 Apr 2010, Walter Bender wrote: > On Wed, Apr 28, 2010 at 12:24 PM, Tiago Marques <tiago...@gmail.com> wrote: >> I was just looking at the layout again and just noticed the new arrow keys >> placement.
> We debated this one. A shorter shift key would be difficult to type > on. We opted to emulate the hjkl vi arrangement. Keyboard layout is virtually the ultimate bikeshed painting problem ... but here's my opinion anyway. Ins and Del are Harmful. You probably know Ins because when you accidentally bump it, your editor switches into "overwrite" mode, and every character you type deletes another until you figure out what happened and hit Ins again. "Del" is the reverse erase that nobody wants. Apple, and the XO-1, have eliminated Ins and relegated Del to Fn+Erase. I recommend removing both. Getting rid of those keys frees up valuable space that can be used, for example to move += to the top row, replaced by ?, replaced by up-arrow. No more hjkl. Some other notes: 1. fn is a bad key because software can't reuse it. For example, on the XO-1 we tried to make fn+F1 send an F1 press to the activity (instead of going to the mesh view), but it was not possible because the fn key is treated specially by the keyboard microcontroller, and not forwarded to the OS. There was no way to tell from software whether a user had pressed fn+F1 or just F1. Accordingly, on new keyboards, OLPC should consider pushing this special handling into the software keyboard mapping as much as possible. It's hard to see why fn+Spacebar needs to be a new keycode, and not just a series of standard up/down events. The only tricky spot I can think of is PageUp/PageDown/Home/End. 2. We have a lot of redundant modifier keys. fn, altgr, and hand-key could all be a single key, because they are never used together. If the keyboard controller would turn altgr+left into Home (etc.), there should be no regression of functionality, even under windows. --Ben _______________________________________________ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel