diff --git a/app/document/input/keyboard.js b/app/document/input/keyboard.js index 4d32e529..bb56a93a 100644 --- a/app/document/input/keyboard.js +++ b/app/document/input/keyboard.js @@ -171,6 +171,42 @@ class KeyboardEvent extends events.EventEmitter { } key_typed(event) { + + if(this.use_numrow) { + switch (event.code) { + case "Digit1": + this.emit("f_key", 0); + return; + case "Digit2": + this.emit("f_key", 1); + return; + case "Digit3": + this.emit("f_key", 2); + return; + case "Digit4": + this.emit("f_key", 3); + return; + case "Digit5": + this.emit("f_key", 4); + return; + case "Digit6": + this.emit("f_key", 5); + return; + case "Digit7": + this.emit("f_key", 6); + return; + case "Digit8": + this.emit("f_key", 7); + return; + case "Digit9": + this.emit("f_key", 8); + return; + case "Digit0": + this.emit("f_key", 9); + return; + } + } + if (this.use_numpad) { switch (event.code) { case "Numpad1": @@ -345,9 +381,11 @@ class KeyboardEvent extends events.EventEmitter { constructor() { super(); this.use_numpad = false; + this.use_numrow = false; this.insert_mode = false; this.overwrite_mode = false; on("use_numpad", (event, value) => this.use_numpad = value); + on("use_numrow", (event, value) => this.use_numrow = value); on("insert_mode", (event, value) => this.insert_mode = value); on("overwrite_mode", (event, value) => this.overwrite_mode = value); on("f_key", (event, value) => this.emit("f_key", value)); diff --git a/app/html/preferences.html b/app/html/preferences.html index 84d64c7d..377aef79 100644 --- a/app/html/preferences.html +++ b/app/html/preferences.html @@ -18,6 +18,9 @@