diff --git a/src/cpp/include/nodegui/QtGui/QEvent/QKeyEvent/qkeyevent_wrap.h b/src/cpp/include/nodegui/QtGui/QEvent/QKeyEvent/qkeyevent_wrap.h index 240ad06f5..3ee7f86be 100644 --- a/src/cpp/include/nodegui/QtGui/QEvent/QKeyEvent/qkeyevent_wrap.h +++ b/src/cpp/include/nodegui/QtGui/QEvent/QKeyEvent/qkeyevent_wrap.h @@ -20,6 +20,10 @@ class QKeyEventWrap : public Napi::ObjectWrap { static Napi::FunctionReference constructor; // wrapped methods Napi::Value text(const Napi::CallbackInfo& info); + Napi::Value key(const Napi::CallbackInfo& info); + Napi::Value modifiers(const Napi::CallbackInfo& info); + Napi::Value count(const Napi::CallbackInfo& info); + Napi::Value isAutoRepeat(const Napi::CallbackInfo& info); COMPONENT_WRAPPED_METHODS_DECLARATION }; \ No newline at end of file diff --git a/src/cpp/lib/QtGui/QEvent/QKeyEvent/qkeyevent_wrap.cpp b/src/cpp/lib/QtGui/QEvent/QKeyEvent/qkeyevent_wrap.cpp index b63682971..2ccb34f3e 100644 --- a/src/cpp/lib/QtGui/QEvent/QKeyEvent/qkeyevent_wrap.cpp +++ b/src/cpp/lib/QtGui/QEvent/QKeyEvent/qkeyevent_wrap.cpp @@ -12,6 +12,10 @@ Napi::Object QKeyEventWrap::init(Napi::Env env, Napi::Object exports) { Napi::Function func = DefineClass(env, CLASSNAME, {InstanceMethod("text", &QKeyEventWrap::text), + InstanceMethod("key", &QKeyEventWrap::key), + InstanceMethod("modifiers", &QKeyEventWrap::modifiers), + InstanceMethod("count", &QKeyEventWrap::count), + InstanceMethod("isAutoRepeat", &QKeyEventWrap::isAutoRepeat), COMPONENT_WRAPPED_METHODS_EXPORT_DEFINE}); constructor = Napi::Persistent(func); exports.Set(CLASSNAME, func); @@ -44,4 +48,28 @@ Napi::Value QKeyEventWrap::text(const Napi::CallbackInfo& info) { QString text = this->instance->text(); Napi::String keyValue = Napi::String::New(env, text.toStdString()); return keyValue; +} + +Napi::Value QKeyEventWrap::key(const Napi::CallbackInfo& info) { + Napi::Env env = info.Env(); + int key = static_cast(this->instance->key()); + return Napi::Number::From(env, key); +} + +Napi::Value QKeyEventWrap::modifiers(const Napi::CallbackInfo& info) { + Napi::Env env = info.Env(); + int key = static_cast(this->instance->modifiers()); + return Napi::Number::From(env, key); +} + +Napi::Value QKeyEventWrap::count(const Napi::CallbackInfo& info) { + Napi::Env env = info.Env(); + int count = static_cast(this->instance->count()); + return Napi::Number::From(env, count); +} + +Napi::Value QKeyEventWrap::isAutoRepeat(const Napi::CallbackInfo& info) { + Napi::Env env = info.Env(); + bool isAutoRepeat = static_cast(this->instance->isAutoRepeat()); + return Napi::Boolean::From(env, isAutoRepeat); } \ No newline at end of file diff --git a/src/lib/QtGui/QEvent/QKeyEvent.ts b/src/lib/QtGui/QEvent/QKeyEvent.ts index 412a8635a..ed350bcb6 100644 --- a/src/lib/QtGui/QEvent/QKeyEvent.ts +++ b/src/lib/QtGui/QEvent/QKeyEvent.ts @@ -10,4 +10,16 @@ export class QKeyEvent { text = (): string => { return this.native.text(); }; + key = (): number => { + return this.native.key(); + }; + modifiers = (): number => { + return this.native.modifiers(); + }; + count = (): number => { + return this.native.count(); + }; + isAutoRepeat = (): boolean => { + return this.native.isAutoRepeat(); + }; }