Re: A modified keyboard for a data-centric web?
< Next Message | Back to archived message list | Previous Message >
Note: This message is from the outliners.com archive kindly provided by Dave Winer.
Outliners.com Message ID: 318
Posted by mpt26
1999-09-11 17:38:33
I was thinking about how to type XML-data, and thinking up key combinations like ctrl-enter, when I realized the whole keyboard is made to write text.
We could probably do pretty well with the existing keyboard layout(s)—I don’t think it would be a good idea to change it(/them), especially since in a large number of applications, the element (in XML terminology) that is being entered will be determined largely by the interface of the program, rather than the person themselves. (You wouldn’t be entering raw XML in an SVG-based drawing program, for example, or in an accounting program, or whatever.)
Probably the people most interested in the keyboard/key-bindings you’re thinking of would be the programmers of serious HTML editors.
On the other hand, I don’t have the faintest idea about what new keys we’d need.
The following ideas spring to mind. (Substitute Ctrl for Command or Meta, Alt for Option, etc, depending on your OS.)
Enter—Start a new element of the same type as the existing element, in the same level of the document hierarchy (like More does already).
Option+Enter—Leave the current element, but don’t begin a new element—just return to the parent element. The cursor would appear red, or something like that, if you couldn’t enter raw text in the current position of the hierarchy (for example, if you were inside an HTML TABLE element without being inside a nested TR and TD/TH).
Command+Enter—Begin a new element. The system opens a small dialog (or toolbar) to allow you to select the type of element you want to enter (the available elements determined by the DOCTYPE, and the previously-used element being the default), and then to enter the relevant attributes for the element.
If text was currently selected when you pressed Command+Enter, the system would make that data the contents of the new element (for example, selecting text and making it <em>emphasized</em>).
Command+Delete—Delete the current element.
—mpt