I would like to give some examples of what a fully functional and configurable XKB extension could offer.
1.Obviate the need to leave the home row for functionality that is provided by keys right of the main keyboard ------------------------------------------------------------------------------ By taking a common pc-105 keyboard and holding down the AltGr/ISO-Level3-Shift modifier , all the alphabetic keys can be equipped with functionality like cursor-cross, insert, delete, home, etc. With the help of XKB's Redirect-Key-Action it would even be possible to have word-wise cursor movement in all text edit fields. All without leaving the home row. 2.Shortcuts abound ------------------ Press one key and let the whole keyboard produce keysyms that are not recognized by any application, so that you can be sure, not to interact with the currently active application in an unwanted manner. This now inactive keyboard could be set up, to exclusively interact with the desktop environment. 3.Use a shortcut setup to control the window manager ---------------------------------------------------- By using a shortcut setup from example 2 and making it accessible by one of the keys in the lowest keyboard row, it would be possible to configure advanced window manager interaction that would not require leaving the home row. Shortcuts for switching applications, switching desktops, packing windows, and common application shortcuts, would have some considerable clearance. It would be possible to lock these shortcuts onto the main window (say with Shift-Return), and with slightly improved support from the window manager, there would be the chance to move the active window in a mouse-keys like behavior or force a particular geometry onto a window (For example: maximize on the left halve of the screen, halve the screen's width and a quarter of the screen's height in the top right corner, etc). 4.Configure remote controls --------------------------- The usual device selection buttons on a remote control could be used to switch between key type levels, so that the other keys produce the key events a particular application takes for the corresponding action. With a simple configuration file format that could be supported by those applications, and a mechanism like inotify, configuration changes in the application could be immediately active in the remote control. The user would at first create a general configuration for the remote control, and after that, would only need to associate the device selection buttons with a particular application. 5.Configure a gamepad as a typing device ---------------------------------------- With 7 independently combinable buttons it would be possible to type all characters of the English alphabet and punctuation (6 modifiers and a trigger key), maybe facilitated by an input method. _______________________________________________ xorg mailing list xorg@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/xorg