diff options
author | Lukas Fleischer <lfleischer@calcurse.org> | 2017-08-30 16:27:29 +0200 |
---|---|---|
committer | Lukas Fleischer <lfleischer@calcurse.org> | 2017-08-30 16:39:23 +0200 |
commit | 578091f051541ffcd68fb755641fd7c45e28977c (patch) | |
tree | 8a02c2ec5c1ac9109076d5bee6c80d553d9c7f8b /src/custom.c | |
parent | 8544e4a57016e370a25bb7038cc3ef11c81eb9c3 (diff) | |
download | calcurse-578091f051541ffcd68fb755641fd7c45e28977c.tar.gz calcurse-578091f051541ffcd68fb755641fd7c45e28977c.zip |
Add support for UTF-8 key bindings
A new function keys_wgetch() reads full UTF-8 characters instead of
single ASCII characters only.
Key bindings for regular ASCII characters are stored in a hash map while
the actions of keys with higher code points are stored in a linked list
for space efficiency.
The key serialization methods are updated to handle UTF-8 characters as
well; extended UTF-8 characters (characters not in the ASCII range) are
serialized by using the hexadecimal representation of the corresponding
code points (e.g. "U+00E4").
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
Diffstat (limited to 'src/custom.c')
-rw-r--r-- | src/custom.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/custom.c b/src/custom.c index ce219c1..f83a87a 100644 --- a/src/custom.c +++ b/src/custom.c @@ -972,10 +972,10 @@ void custom_keys_config(void) (col - WINCOL) / 2, _("Press the key you want to assign to:"), keys_get_label(selrow), 0); - ch = wgetch(grabwin); + ch = keys_wgetch(grabwin); /* First check if this key would be recognized by calcurse. */ - if (keys_str2int(keys_int2str(ch)) == -1) { + if (ch < 0) { not_recognized = 1; WARN_MSG(_("This key is not yet recognized by calcurse, " "please choose another one.")); |