<html>
<head>
<title>example</title>
<SCRIPT>
function diputreeOnKeypress() {
var diputree = parent.frames["diputree"].document.diputree;
// event
var docElement = "#/1";
var pEvent = "#xpointer(hasevent/*)";
var event = diputree.lookup (docElement, pEvent);
// unicode
var pUnicode = diputree.lookup(event,"#xpointer(hasunicode/unicode/i)");
if (pUnicode=="") {
document.outputForm.unicodeField.value = "";
} else {
var unicode = diputree.getValue(pUnicode);
document.outputForm.unicodeField.value = unicode;
}
// action
var pAction = diputree.lookup(event,"#xpointer(hasaction/*)");
if (pAction=="") {
document.outputForm.actionField.value = "";
} else {
var action = diputree.getName(pAction);
document.outputForm.actionField.value = action;
}
// first modifier
var pModifier = diputree.lookup(event,"#xpointer(hasmodifier/*)");
if (pModifier=="") {
document.outputForm.modifierField.value = "";
} else {
var modifier = diputree.getName(pModifier);
document.outputForm.modifierField.value = modifier;
}
}
</SCRIPT>
</head>
<body>
<form name="outputForm" id="outputForm">
<p>unicode:
<P><input type="text" name="unicodeField" id="unicodeField">
<p>action:
<P><input type="text" name="actionField" id="actionField">
<p>modifier:
<P><input type="text" name="modifierField" id="modifierField">
</form>
</body>
</html>
The event that occurred, this will be a keypress event because we only listen for keypress events.
// event
var docElement = "#/1";
var pEvent = "#xpointer(hasevent/*)";
var event = diputree.lookup (docElement, pEvent);
The unicode character value, if applicable (action keys do not have unicode values).
// unicode
var pUnicode = diputree.lookup(event,"#xpointer(hasunicode/unicode/i)");
if (pUnicode=="") {
document.outputForm.unicodeField.value = "";
} else {
var unicode = diputree.getValue(pUnicode);
document.outputForm.unicodeField.value = unicode;
}
The action, if applicable.
// action
var pAction = diputree.lookup(event,"#xpointer(hasaction/*)");
if (pAction=="") {
document.outputForm.actionField.value = "";
} else {
var action = diputree.getName(pAction);
document.outputForm.actionField.value = action;
}
The first modifier, if you want all the modifiers you need to use lookupAll().
// first modifier
var pModifier = diputree.lookup(event,"#xpointer(hasmodifier/*)");
if (pModifier=="") {
document.outputForm.modifierField.value = "";
} else {
var modifier = diputree.getName(pModifier);
document.outputForm.modifierField.value = modifier;
}