Skip to content

Programming keypad #2

@bryanchun

Description

@bryanchun
  • More space to accommodate multiline editing
  • Fewer buttons, but carefully picked in each page to suit the context

v1 (Physical prototype)

whatsapp image 2017-09-02 at 7 12 48 pm 7

  • delete new line nav up nav down
  • save (cancel) clear mode (COMP/CMPLX/SD/...)

whatsapp image 2017-09-02 at 7 12 48 pm 6
Idea pool (free to combine):

  • After selecting for example If, this button will become Then, and then IfEnd; so on and so forth for other buttons, to achieve the effect of "predicting" user input token
  • Assume If creates a block, hence IfEnd is automatically appended, and the button can be changed to Else to give more input options
  • Candidate suggestion row as in soft keyboard, implemented by AI or pure logic

whatsapp image 2017-09-02 at 7 12 48 pm 3

whatsapp image 2017-09-02 at 7 12 48 pm 4

  • First two columns: recently used variables, third and fourth columns, recently used constants
  • May include default constants like &pi and &exp
  • Prev/Next page to navigate between pages containing all variables (1st & 2nd col) and constants (3rd & 4th col) in ascending order

whatsapp image 2017-09-02 at 7 12 48 pm 5

whatsapp image 2017-09-02 at 7 12 48 pm 2

whatsapp image 2017-09-02 at 7 12 48 pm 1

  • When arc is selected, sin cos tan all becomes asin acos atan, and the arc button will become hyp
  • Press hyp to change the 3 buttons into sinh cosh tanh, then the hyp button will become arch
  • Press arch to change the 3 buttons into asinh acosh atanh, then the acrh button will become arc again but unselected, the 3 buttons return to sin cos tan

whatsapp image 2017-09-02 at 7 12 48 pm

  • More functions can be included
  • Suggestion of feature though not quite possible: let users define programs that run like functions, e.g.
myFunc(1, 2, 3) + 4

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions