Skip to content

Commit a78455d

Browse files
Merge pull request #1142 from LedgerHQ/fix-missing-letter-in-nbgl-keyboard
Fix missing letter in NBGL keyboard for Nano
2 parents 5d7af1c + f1fa37a commit a78455d

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

lib_nbgl/src/nbgl_layout_keyboard_nanos.c

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,6 @@ int nbgl_layoutUpdateKeyboard(nbgl_layout_t *layout, uint8_t index, uint32_t key
104104
if ((keyboard == NULL) || (keyboard->obj.type != KEYBOARD)) {
105105
return -1;
106106
}
107-
keyboard->keyMask = keyMask;
108107
if (keyboard->lettersOnly) {
109108
if (keyMask & (1 << 26)) {
110109
keyboard->selectedCharIndex = cx_rng_u32() % 26;
@@ -113,6 +112,14 @@ int nbgl_layoutUpdateKeyboard(nbgl_layout_t *layout, uint8_t index, uint32_t key
113112
keyboard->selectedCharIndex = 0;
114113
}
115114
}
115+
else {
116+
// if current keyMask was O and new one filters all keys,
117+
// we should select Validate by default
118+
if ((keyboard->keyMask == 0) && ((keyMask & 0x3FFFFFF) == 0x3FFFFFF)) {
119+
keyboard->selectedCharIndex = 27;
120+
}
121+
}
122+
keyboard->keyMask = keyMask;
116123

117124
nbgl_objDraw((nbgl_obj_t *) keyboard);
118125

lib_nbgl/src/nbgl_obj_keyboard_nanos.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -269,6 +269,7 @@ static void keyboardDrawRegular(nbgl_keyboard_t *keyboard)
269269
charIndex = maxLen - 1;
270270
}
271271
}
272+
keysToDraw[0] = keys[charIndex];
272273

273274
// mode is defined, so draw the proper 3 letters (or icons)
274275
for (i = 0; i < 3; i++) {

0 commit comments

Comments
 (0)