From 801fbb89b56fc5f29bbc3a0836653db44f3e87e5 Mon Sep 17 00:00:00 2001 From: "Peter D. Gray" Date: Wed, 6 Dec 2023 11:42:52 -0500 Subject: [PATCH] Rename SELECT->ENTER --- shared/charcodes.py | 8 ++++---- shared/login.py | 12 ++++++------ shared/menu.py | 6 +++--- shared/qrs.py | 4 ++-- shared/seed.py | 4 ++-- shared/selftest.py | 6 +++--- shared/ux.py | 4 ++-- shared/ux_mk4.py | 2 -- shared/ux_q1.py | 22 +++++++++++----------- 9 files changed, 33 insertions(+), 35 deletions(-) diff --git a/shared/charcodes.py b/shared/charcodes.py index 69eb5d6b..3763d10a 100644 --- a/shared/charcodes.py +++ b/shared/charcodes.py @@ -18,7 +18,7 @@ except ImportError: KEY_NFC = '\x0e' # ctrl-N KEY_QR = '\x11' # ctrl-Q KEY_TAB = '\t' # tab = ctrl-I -KEY_SELECT = '\r' # = CR +KEY_ENTER = '\r' # = CR KEY_CANCEL = '\x1b' # ESC = Cancel KEY_LEFT = '\x03' # ^B = left (incompatible) KEY_UP = '\x0b' # ^K = up on ADM-3A @@ -56,7 +56,7 @@ if has_qwerty: # - these are unshifted values # - ten per row, gaps with zero DECODER = (KEY_NFC + KEY_TAB + KEY_QR - + KEY_LEFT + KEY_UP + KEY_DOWN + KEY_RIGHT + KEY_CANCEL + KEY_SELECT + '\0' + + KEY_LEFT + KEY_UP + KEY_DOWN + KEY_RIGHT + KEY_CANCEL + KEY_ENTER + '\0' + '1234567890' + 'qwertyuiop' + 'asdfghjkl`' @@ -77,7 +77,7 @@ if has_qwerty: # in caps mode: numbers unaffected, and also allow meta keys normally DECODER_CAPS = (KEY_NFC + KEY_TAB + KEY_QR - + KEY_LEFT + KEY_UP + KEY_DOWN + KEY_RIGHT + KEY_CANCEL + KEY_SELECT + '\0' + + KEY_LEFT + KEY_UP + KEY_DOWN + KEY_RIGHT + KEY_CANCEL + KEY_ENTER + '\0' + '1234567890' + 'QWERTYUIOP' + "ASDFGHJKL'" @@ -88,7 +88,7 @@ if has_qwerty: # - be nice and allow number+symbol == number + shift # - also nicity: symb+cancel=clear DECODER_SYMBOL = (KEY_NFC + KEY_TAB + KEY_QR - + KEY_HOME + KEY_PAGE_UP + KEY_PAGE_DOWN + KEY_END + KEY_CANCEL + KEY_SELECT + '\0' + + KEY_HOME + KEY_PAGE_UP + KEY_PAGE_DOWN + KEY_END + KEY_CANCEL + KEY_ENTER + '\0' + '!@#$%^&*()' + '-_`\0\0\0[]{}' + '+\0\0=:;~|\\"' diff --git a/shared/login.py b/shared/login.py index d784d876..00c511e3 100644 --- a/shared/login.py +++ b/shared/login.py @@ -8,13 +8,13 @@ from ux import PressRelease, ux_wait_keyup, ux_show_story, ux_show_pin from callgate import show_logout from pincodes import pa from uasyncio import sleep_ms -from charcodes import KEY_DELETE, KEY_SELECT, KEY_CANCEL, KEY_CLEAR +from charcodes import KEY_DELETE, KEY_ENTER, KEY_CANCEL, KEY_CLEAR MAX_PIN_PART_LEN = 6 MIN_PIN_PART_LEN = 2 if not version.has_qwerty: - KEY_SELECT = 'y' + KEY_ENTER = 'y' KEY_CANCEL = 'x' KEY_DELETE = 'x' @@ -66,7 +66,7 @@ class LoginUX: y = 4 dis.text(x, y, words[0]) dis.text(x, y+1, words[1]) - dis.text(None, -1, "CANCEL or SELECT to continue") + dis.text(None, -1, "CANCEL or ENTER to continue") else: # Old style from display import FontLarge, FontTiny @@ -120,7 +120,7 @@ class LoginUX: self.pin = '' self.show_pin() - elif ch == KEY_SELECT: + elif ch == KEY_ENTER: if len(self.pin) < MIN_PIN_PART_LEN: # they haven't given enough yet continue @@ -131,7 +131,7 @@ class LoginUX: self._show_words() - pattern = KEY_SELECT + KEY_CANCEL + pattern = KEY_ENTER + KEY_CANCEL if self.kill_btn: pattern += self.kill_btn @@ -143,7 +143,7 @@ class LoginUX: callgate.fast_wipe(False) # not reached - if nxt == KEY_SELECT: + if nxt == KEY_ENTER: self.pin_prefix = self.pin self.pin = '' diff --git a/shared/menu.py b/shared/menu.py index 8527c214..e452f5ef 100644 --- a/shared/menu.py +++ b/shared/menu.py @@ -6,7 +6,7 @@ import gc from ux import PressRelease, the_ux from uasyncio import sleep_ms from charcodes import (KEY_LEFT, KEY_RIGHT, KEY_UP, KEY_DOWN, KEY_HOME, KEY_SPACE, - KEY_END, KEY_PAGE_UP, KEY_PAGE_DOWN, KEY_SELECT, KEY_CANCEL) + KEY_END, KEY_PAGE_UP, KEY_PAGE_DOWN, KEY_ENTER, KEY_CANCEL) from version import has_qwerty # Number of full text lines per screen. @@ -34,7 +34,7 @@ def numpad_remap(key): elif key == '0': return KEY_HOME elif key == 'y': - return KEY_SELECT + return KEY_ENTER elif key == 'x': return KEY_CANCEL else: @@ -347,7 +347,7 @@ class MenuSystem: if not has_qwerty: key = numpad_remap(key) - if key == KEY_SELECT or key == KEY_SPACE: + if key == KEY_ENTER or key == KEY_SPACE: # selected - done return self.cursor elif key == KEY_CANCEL: diff --git a/shared/qrs.py b/shared/qrs.py index 69f0edae..bcf758ce 100644 --- a/shared/qrs.py +++ b/shared/qrs.py @@ -6,7 +6,7 @@ import framebuf, uqr from ux import UserInteraction, ux_wait_keyup, the_ux from utils import word_wrap from charcodes import (KEY_LEFT, KEY_RIGHT, KEY_UP, KEY_DOWN, KEY_HOME, KEY_NFC, - KEY_END, KEY_PAGE_UP, KEY_PAGE_DOWN, KEY_SELECT, KEY_CANCEL) + KEY_END, KEY_PAGE_UP, KEY_PAGE_DOWN, KEY_ENTER, KEY_CANCEL) from version import has_qwerty @@ -84,7 +84,7 @@ class QRDisplaySingle(UserInteraction): await NFC.share_text(self.addrs[self.idx]) self.redraw() continue - elif ch in 'xy'+KEY_SELECT+KEY_CANCEL: + elif ch in 'xy'+KEY_ENTER+KEY_CANCEL: break elif len(self.addrs) == 1: continue diff --git a/shared/seed.py b/shared/seed.py index c5c61a86..75882b03 100644 --- a/shared/seed.py +++ b/shared/seed.py @@ -24,7 +24,7 @@ from glob import settings, dis from pincodes import pa from nvstore import SettingsObject from files import CardMissingError, needs_microsd, CardSlot -from charcodes import KEY_QR, KEY_SELECT, KEY_CANCEL +from charcodes import KEY_QR, KEY_ENTER, KEY_CANCEL # seed words lengths we support: 24=>256 bits, and recommended @@ -350,7 +350,7 @@ async def add_dice_rolls(count, seed, judge_them, nwords=None, enforce=False): # only let them abort if it's early still if count < 10 and judge_them: return 0, seed - elif ch == KEY_SELECT: + elif ch == KEY_ENTER: if count < threshold and judge_them: if not count: return 0, seed diff --git a/shared/selftest.py b/shared/selftest.py index 7060d0c3..9350ccc9 100644 --- a/shared/selftest.py +++ b/shared/selftest.py @@ -11,7 +11,7 @@ from callgate import get_is_bricked, get_genuine, clear_genuine from utils import problem_file_line import version from glob import settings -from charcodes import KEY_SELECT, KEY_CANCEL +from charcodes import KEY_ENTER, KEY_CANCEL try: from display import FontLarge @@ -19,8 +19,8 @@ except ImportError: FontLarge = None async def wait_ok(): - k = await ux_wait_keyup('xy' + KEY_SELECT + KEY_CANCEL) - if k not in 'y' + KEY_SELECT: + k = await ux_wait_keyup('xy' + KEY_ENTER + KEY_CANCEL) + if k not in 'y' + KEY_ENTER: raise RuntimeError('Canceled') def label_test(line1, line2=''): diff --git a/shared/ux.py b/shared/ux.py index 52753565..be8cafad 100644 --- a/shared/ux.py +++ b/shared/ux.py @@ -7,7 +7,7 @@ from queues import QueueEmpty import utime, gc, version from utils import word_wrap from charcodes import (KEY_LEFT, KEY_RIGHT, KEY_UP, KEY_DOWN, KEY_HOME, KEY_NFC, KEY_QR, - KEY_END, KEY_PAGE_UP, KEY_PAGE_DOWN, KEY_SELECT, KEY_CANCEL) + KEY_END, KEY_PAGE_UP, KEY_PAGE_DOWN, KEY_ENTER, KEY_CANCEL) from exceptions import AbortInteraction DEFAULT_IDLE_TIMEOUT = const(4*3600) # (seconds) 4 hours @@ -197,7 +197,7 @@ async def ux_show_story(msg, title=None, escape=None, sensitive=False, strict_es if escape and (ch in escape): # allow another way out for some usages return ch - elif ch == KEY_SELECT: + elif ch == KEY_ENTER: if not strict_escape: return 'y' # translate for Mk4 code elif ch == KEY_CANCEL: diff --git a/shared/ux_mk4.py b/shared/ux_mk4.py index aaa1d48f..506ac3e9 100644 --- a/shared/ux_mk4.py +++ b/shared/ux_mk4.py @@ -4,8 +4,6 @@ # from uasyncio import sleep_ms import utime, gc -from charcodes import (KEY_LEFT, KEY_RIGHT, KEY_UP, KEY_DOWN, KEY_HOME, - KEY_END, KEY_PAGE_UP, KEY_PAGE_DOWN, KEY_SELECT, KEY_CANCEL) from exceptions import AbortInteraction class PressRelease: diff --git a/shared/ux_q1.py b/shared/ux_q1.py index 4d84056c..91b337ca 100644 --- a/shared/ux_q1.py +++ b/shared/ux_q1.py @@ -13,7 +13,7 @@ import bip39 from decoders import decode_qr_result class PressRelease: - def __init__(self, need_release=KEY_SELECT+KEY_CANCEL): + def __init__(self, need_release=KEY_ENTER+KEY_CANCEL): # Manage key-repeat: track last key, measure time it's held down, etc. self.need_release = need_release self.last_key = None @@ -87,8 +87,8 @@ async def ux_enter_number(prompt, max_value, can_cancel=False): max_w = int(log(max_value, 10) + 1) dis.clear() - dis.text(None, -1, "CANCEL or SELECT when done." if can_cancel else - "Enter number, SELECT when done.") + dis.text(None, -1, "CANCEL or ENTER when done." if can_cancel else + "Enter number, ENTER when done.") while 1: # TODO: check width, go to two lines if needed? depends on prompt text @@ -96,7 +96,7 @@ async def ux_enter_number(prompt, max_value, can_cancel=False): dis.show(cursor=CursorSpec(bx, 4, CURSOR_SOLID)) ch = await press.wait() - if ch == KEY_SELECT: + if ch == KEY_ENTER: if not value: return 0 @@ -144,7 +144,7 @@ async def ux_input_text(value, confirm_exit=True, hex_only=False, max_len=100, if b39_complete: dis.text(None, -2, KEY_TAB + " to auto-complete. " + KEY_QR + " to scan.") - dis.text(None, -1, "CANCEL or SELECT when done.") + dis.text(None, -1, "CANCEL or ENTER when done.") # TODO: # - left/right to edit in middle @@ -214,7 +214,7 @@ async def ux_input_text(value, confirm_exit=True, hex_only=False, max_len=100, ch = await press.wait() - if ch == KEY_SELECT: + if ch == KEY_ENTER: if len(value) >= min_len: break else: @@ -336,9 +336,9 @@ def ux_show_pin(dis, pin, subtitle, is_first_part, is_confirmation, force_draw, if is_confirmation: cta = "Confirm pin value" if is_confirmation: - cta = "CANCEL or SELECT when done" + cta = "CANCEL or ENTER when done" else: - cta = "CANCEL or SELECT to continue" + cta = "CANCEL or ENTER to continue" dis.text(None, -1, cta) @@ -458,8 +458,8 @@ async def seed_word_entry(prompt, num_words, has_checksum=True, done_cb=None): while 1: if word_num == num_words: # useful to show final word on screen, even tho confirm not needed - err_msg = 'Press SELECT if all done.' if not has_checksum else \ - 'Valid words! Press SELECT.' + err_msg = 'Press ENTER if all done.' if not has_checksum else \ + 'Valid words! Press ENTER.' cur = None else: x, y = pos[word_num] @@ -485,7 +485,7 @@ async def seed_word_entry(prompt, num_words, has_checksum=True, done_cb=None): ch = await press.wait() commit = False - if ch == KEY_SELECT: + if ch == KEY_ENTER: if word_num == num_words: break commit = True