According to the TDG, keycap contains some values to markup "special" keys. For example, function="control" maps to the control key (written as "Ctrl" for an English keyboard).
However, there is no distinction between "Alt" (left alt key) and "Alt Gr" (right alt key). Furthermore, there is also no difference between "return" and "enter". Here are some reasons why I think the schema should be extended to support these values:
* Consistency: It is much more consistent to write <keycap function="alt"/> or <keycap function="altgr"/> and rely on the DocBook stylesheets to do the right thing.
* Language Support: Some keyboards could name the "Alt Gr" key differently than in English.
* Translation: Translators doesn't have to know how to translate a key (although I would assume a translator e.g. from English to German would know the German key names, but I think, it safer to bother them with this minor details and improve consistency.)
* Layout: "Exotic" keys can be mapped to a image during processing.
* Validation: Having a list of possible values makes it easier to spot errors.
I know, there is the “other” value in function and the otherfunction attribute to markup even more exotic keys. However, I think, the above distinction is such a basic thing that it should be included in DocBook.
Maybe the committee thinks about adding this feature not only to DocBook v5.x but also to version 4.5.