XUL:key
From MDC
« XUL Reference home [ Examples | Attributes | Properties | Methods | Related ]
The key element defines a keyboard shortcut. Event handlers can be used to respond when the appropriate keys are pressed. A key element must be placed inside a keyset element.
When a key matching the attributes on the key element is pressed, the command will be fired on the key element. The key pressed must match the key attribute (or keycode attribute) as well as the modifiers attribute in order for the key element to be activated and fire a command event.
For example, consider the following key:
<key key="r" modifiers="shift"/>
This key will only match when the Shift key is pressed as well as the R key, and no other keys. For instance, if the Shift, Control and R keys are all pressed, the key will not match.
To indiciate that a modifier key may optionally be pressed, place the word 'any' after a listing the optional modifier key. For example:
<key key="r" modifiers="shift any control"/>
In this example, the shift key may or may not be pressed, while the control key must be pressed. This allows keys to match more loosely for modifier keys that aren't relevant, yet still allows specific modifiers to be required.
If the modifiers attribute is not specified, then no modifiers may be pressed for the key to match.
If neither the key or keycode attribute are used, the key element will handle all key events. However, if one of the attributes is set to an empty string, the element doesn't handle any key events. For example:
<!-- This element handles all key events --> <key/> <!-- These elements don't handle any key events --> <key key="" modifiers="control"/> <key keycode="" modifiers="control"/>
More information is available in the XUL tutorial.
[edit] Examples
(example needed)
[edit] Attributes
|
Inherited from XUL element |
- disabled
- Type: boolean
- Indicates whether the element is disabled or not. If this element is set to
truethe element is disabled. Disabled elements are usually drawn with grayed-out text. If the element is disabled, it does not respond to user actions, it cannot be focused, and thecommandevent will not fire.
- key
- Type: character
- The character that must be pressed. This should be set to a displayable character.
- keycode
- Type: string key code
- For keys that do not have displayable characters, such as the Enter key or function keys, use this attribute instead of the key attribute. Valid keys are listed here.
- keytext
- Type: string
- A label for the keyboard shortcut. This text would appear next to a menuitem label if that menuitem is associated with the key element via its key attribute.
- modifiers
- Type: space-separated list of the values below
- A list of modifier keys that should be pressed to invoke the keyboard shortcut. Multiple keys may be separated by spaces or commas. Keys will map to other keys on platforms that do not have them.
-
shift: The Shift key. -
alt: The Alt key. On the Macintosh, this is the Option key. On Macintosh this can only be used in conjunction with another modifier, since Alt+Letter combinations are reserved for entering special characters in text. -
meta: The Meta key. On the Macintosh, this is the Command key. -
control: The Control key. -
accel: The key used for keyboard shortcuts on the user's platform. Usually, this would be the value you would use. -
access: The access key for activating menus and other elements. On Windows, this is the Alt key, used in conjuction with an element's accesskey. -
any: Indicates that all modifiers preceding it are optional.
- oncommand
- Type: script code
- This event handler is called when the command is activated. This occurs when a user selects a menu item or presses a keyboard shortcut attached to the command.
- phase
- Type: string
- The event phase where the handler is invoked. This should be set to the value
capturingto indicate during the event capturing phase ortargetto indicate at the target element or left out entirely for the bubbling phase.
[edit] Properties
|
Inherited from XUL element Inherited from DOM element |
[edit] Methods
|
Inherited from XUL element Inherited from DOM element |
[edit] Related
TBD