SFT-5988: adjusted keypad test layout to fit new counters
What changed, and why it matters
This commit simply rearranges the on-screen keypad layout in a hardware wallet test screen so that new counter elements fit. It changes spacing, widths, and positions of on-screen buttons. There is no security relevance.
No security action needed; treat as routine UI/layout maintenance.
Security signals we found
No strong security signals were identified.
Evidence from the diff
A UI-only change in ports/stm32/boards/Passport/modules/views/keypad.py adjusts constants (margins, gaps, key width/height) and the coordinate math used to place directional and numeric keys on the keypad test view. No input handling, validation, cryptographic, or privileged code is touched.
Changed components
ports/stm32/boards/Passport/modules/views/keypad.pyInspect captured patch +13 / −14
diff --git a/ports/stm32/boards/Passport/modules/views/keypad.py b/ports/stm32/boards/Passport/modules/views/keypad.py
index ad6534e..7fe5c63 100644
--- a/ports/stm32/boards/Passport/modules/views/keypad.py
+++ b/ports/stm32/boards/Passport/modules/views/keypad.py
@@ -16,11 +16,10 @@ WIDTH = 210
HEIGHT = 300
HALF_WIDTH = WIDTH // 2
-SIDE_MARGIN = 15
TOP_MARGIN = 10
-NUMKEY_HGAP = 10
-NUMKEY_VGAP = 5
-KEY_WIDTH = 50
+NUMKEY_HGAP = 4
+NUMKEY_VGAP = 1
+KEY_WIDTH = 46
KEY_HEIGHT = 24
Keys = [
@@ -67,14 +66,14 @@ class Keypad(View):
}
y = TOP_MARGIN
- self.add_key('u', HALF_WIDTH - KEY_WIDTH // 4, y)
- self.add_key('d', HALF_WIDTH - KEY_WIDTH // 4, y + NUMKEY_VGAP + KEY_HEIGHT)
- self.add_key('l', HALF_WIDTH - KEY_WIDTH // 4 - NUMKEY_HGAP -
- KEY_WIDTH // 2, y + (NUMKEY_VGAP + KEY_HEIGHT) // 2)
- self.add_key('r', HALF_WIDTH - KEY_WIDTH // 4 + NUMKEY_HGAP +
- KEY_WIDTH // 2, y + (NUMKEY_VGAP + KEY_HEIGHT) // 2)
- self.add_key('x', SIDE_MARGIN, y + (NUMKEY_VGAP + KEY_HEIGHT) // 2)
- self.add_key('y', WIDTH - SIDE_MARGIN - KEY_WIDTH // 2, y + (NUMKEY_VGAP + KEY_HEIGHT) // 2)
+ self.add_key('u', HALF_WIDTH - KEY_WIDTH // 2, y)
+ self.add_key('d', HALF_WIDTH - KEY_WIDTH // 2, y + NUMKEY_VGAP + KEY_HEIGHT * 2)
+ self.add_key('l', HALF_WIDTH - KEY_WIDTH - NUMKEY_HGAP // 2,
+ y + (NUMKEY_VGAP + KEY_HEIGHT))
+ self.add_key('r', HALF_WIDTH + NUMKEY_HGAP // 2,
+ y + (NUMKEY_VGAP + KEY_HEIGHT))
+ self.add_key('x', HALF_WIDTH - 2 * KEY_WIDTH - 3 * NUMKEY_HGAP // 2, y + (NUMKEY_VGAP + KEY_HEIGHT))
+ self.add_key('y', HALF_WIDTH + KEY_WIDTH + 3 * NUMKEY_HGAP // 2, y + (NUMKEY_VGAP + KEY_HEIGHT))
y += NUMKEY_VGAP + (NUMKEY_VGAP + KEY_HEIGHT) * 2
@@ -82,8 +81,8 @@ class Keypad(View):
for row in range(len(Keys)):
for col in range(len(Keys[row])):
key = Keys[row][col]
- key_x = (SIDE_MARGIN + SIDE_MARGIN // 2) + (col * (KEY_WIDTH + NUMKEY_HGAP))
- key_y = y + row * (KEY_HEIGHT + NUMKEY_VGAP)
+ key_x = HALF_WIDTH + ((col - 1) * (KEY_WIDTH + NUMKEY_HGAP)) - KEY_WIDTH // 2
+ key_y = y + row * (KEY_HEIGHT + NUMKEY_VGAP) + KEY_HEIGHT
self.add_key(key, key_x, key_y)
def add_key(self, key, key_x, key_y, small=False):
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.