Rename SELECT->ENTER
This commit is contained in:
parent
15a4277302
commit
801fbb89b5
@ -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=:;~|\\"'
|
||||
|
||||
@ -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 = ''
|
||||
|
||||
|
||||
@ -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:
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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=''):
|
||||
|
||||
@ -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:
|
||||
|
||||
@ -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:
|
||||
|
||||
@ -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
|
||||
|
||||
Loading…
Reference in New Issue
Block a user