Skip to content

Programming keypad #2

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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