[Bf-blender-cvs] [17d2e64] master: Hopefully definitively fix the "enter the advanced numinput mode" issue.
Bastien Montagne
noreply at git.blender.org
Thu Feb 27 09:51:37 CET 2014
Commit: 17d2e6422cfac5c1fe2f66dba94ad76212876eca
Author: Bastien Montagne
Date: Thu Feb 27 09:45:44 2014 +0100
https://developer.blender.org/rB17d2e6422cfac5c1fe2f66dba94ad76212876eca
Hopefully definitively fix the "enter the advanced numinput mode" issue.
Hack around event code and check against ascii code, this way keyboards with "complex" access to '=' and '*' are still able to toggle numinput modes.
===================================================================
M source/blender/editors/util/numinput.c
===================================================================
diff --git a/source/blender/editors/util/numinput.c b/source/blender/editors/util/numinput.c
index 9cbea14..1f3725a 100644
--- a/source/blender/editors/util/numinput.c
+++ b/source/blender/editors/util/numinput.c
@@ -339,17 +339,13 @@ bool handleNumInput(bContext *C, NumInput *n, const wmEvent *event)
utf8_buf = ascii;
break;
case EQUALKEY:
+ /* XXX Advanced mode toggle, hack around keyboards without direct access to '=' nor '*'... */
+ ascii[0] = '=';
+ break;
case PADASTERKEY:
- if (!(n->flag & NUM_EDIT_FULL)) {
- n->flag |= NUM_EDIT_FULL;
- n->val_flag[idx] |= NUM_EDITED;
- return true;
- }
- else if (event->ctrl) {
- n->flag &= ~NUM_EDIT_FULL;
- return true;
- }
- /* fall-through */
+ /* XXX Advanced mode toggle, hack around keyboards without direct access to '=' nor '*'... */
+ ascii[0] = '*';
+ break;
case PADMINUS:
case MINUSKEY:
if (event->ctrl || !(n->flag & NUM_EDIT_FULL)) {
@@ -402,6 +398,19 @@ bool handleNumInput(bContext *C, NumInput *n, const wmEvent *event)
break;
}
+ /* XXX Hack around keyboards without direct access to '=' nor '*'... */
+ if (ELEM(ascii[0], '=', '*')) {
+ if (!(n->flag & NUM_EDIT_FULL)) {
+ n->flag |= NUM_EDIT_FULL;
+ n->val_flag[idx] |= NUM_EDITED;
+ return true;
+ }
+ else if (event->ctrl) {
+ n->flag &= ~NUM_EDIT_FULL;
+ return true;
+ }
+ }
+
if (utf8_buf && !utf8_buf[0] && ascii[0]) {
/* Fallback to ascii. */
utf8_buf = ascii;
More information about the Bf-blender-cvs
mailing list