aboutsummaryrefslogtreecommitdiff
path: root/subprojects/nk_pugl/nk_pugl
diff options
context:
space:
mode:
authorHanspeter Portner <dev@open-music-kontrollers.ch>2020-04-09 10:44:45 +0200
committerHanspeter Portner <dev@open-music-kontrollers.ch>2020-04-09 10:44:45 +0200
commit932699a7e8cdb4c615cb79688bc08f5f8bd25cb4 (patch)
tree505e60ddb82fd1a4c6e1237ae9ae0bd6558b5caf /subprojects/nk_pugl/nk_pugl
parent237206a112c4af705e320c7c407668808fef9c69 (diff)
parent655d7787133c0245a4d11219c7b1e123ea6f815c (diff)
downloadnuk.lv2-932699a7e8cdb4c615cb79688bc08f5f8bd25cb4.tar.xz
Merge commit '655d7787133c0245a4d11219c7b1e123ea6f815c'
Diffstat (limited to 'subprojects/nk_pugl/nk_pugl')
-rw-r--r--subprojects/nk_pugl/nk_pugl/nk_pugl.h15
1 files changed, 9 insertions, 6 deletions
diff --git a/subprojects/nk_pugl/nk_pugl/nk_pugl.h b/subprojects/nk_pugl/nk_pugl/nk_pugl.h
index 52e0ee0..7f543ba 100644
--- a/subprojects/nk_pugl/nk_pugl/nk_pugl.h
+++ b/subprojects/nk_pugl/nk_pugl/nk_pugl.h
@@ -915,10 +915,14 @@ _nk_pugl_event_func(PuglView *view, const PuglEvent *e)
{
const PuglEventText *ev = (const PuglEventText *)e;
- if(isprint(ev->character))
+ const bool control = ev->state & PUGL_MOD_CTRL;
+
+ const int ch = control ? ev->character | 0x60 : ev->character;
+
+ if(isprint(ch))
{
_nk_pugl_key_press(ctx, NK_KEY_TEXT_INSERT_MODE);
- nk_input_unicode(ctx, ev->character);
+ nk_input_unicode(ctx, ch);
}
} break;
@@ -1368,13 +1372,12 @@ nk_pugl_is_shortcut_pressed(struct nk_input *in, char letter, bool clear)
if(control && (in->keyboard.text_len == 1) )
{
- // unescape ASCII control chars + Control
- const char ch = in->keyboard.text[0] | 0x60;
-
- if(isalpha(ch) && (ch == letter) ) // pass non-alpha characters through
+ if(in->keyboard.text[0] == letter)
{
if(clear)
+ {
in->keyboard.text_len = 0;
+ }
return true; // matching shortcut
}