JSValue* JSKeyboardEvent::getValueProperty(ExecState* exec, int token) const { switch (token) { case KeyIdentifierAttrNum: { KeyboardEvent* imp = static_cast<KeyboardEvent*>(impl()); return jsString(exec, imp->keyIdentifier()); } case KeyLocationAttrNum: { KeyboardEvent* imp = static_cast<KeyboardEvent*>(impl()); return jsNumber(exec, imp->keyLocation()); } case CtrlKeyAttrNum: { KeyboardEvent* imp = static_cast<KeyboardEvent*>(impl()); return jsBoolean(imp->ctrlKey()); } case ShiftKeyAttrNum: { KeyboardEvent* imp = static_cast<KeyboardEvent*>(impl()); return jsBoolean(imp->shiftKey()); } case AltKeyAttrNum: { KeyboardEvent* imp = static_cast<KeyboardEvent*>(impl()); return jsBoolean(imp->altKey()); } case MetaKeyAttrNum: { KeyboardEvent* imp = static_cast<KeyboardEvent*>(impl()); return jsBoolean(imp->metaKey()); } case AltGraphKeyAttrNum: { KeyboardEvent* imp = static_cast<KeyboardEvent*>(impl()); return jsBoolean(imp->altGraphKey()); } case ConstructorAttrNum: return getConstructor(exec); } return 0; }