Top Up

QESS

QESS is a spread sheet application for Android smart phone focusing on effective entry. It has editable keypads.

Sample Layout

Introduction

The layout of the keypad can be edited freely. This document describes the usage and meaning of sample layout files included in the application. Please refer the original sample layout files to confirm the full description by using a spread sheet appilication such as Excel.

To browse the file by using QESS, check 'Layout Edit Mode' in menu→Settings.

When a file having extension '.csv' is edited by Excel or other application, the file may not be saved as CSV (Comma Separated value). The file may be saved as TSV (Tab Separated Value). In this case, change file extension from '.csv' to '.tsv'.

sampleScoringEntering evaluation scores sequentially from the top of a list.
sampleAttendanceEntering records of attend/absent sequentially from the top of a list.
sampleCheckingAdding and delete checkmarks in a sheet.
sampleCounterCounting something.
sampleCounter2Classifying something and counting.
sampleLoggingRecording a log.
sampleQuestionnaireFilling in a questionnaire.
sampleCashcalcImplementing a cashbook calculator.
sampleMultimodalTrying Voice input, QRcode/barcode input, QRcode output, geo location input and text to speech.
sampleCommandsTrying various commands.
sampleJumpTrying conditional jumps and loops.
sampleFormulaTrying formulas. Need to set both edges of the range to calculate sum and count.
sampleJavaScriptTrying JavaScript.
sampleRpnCalcImplementing an RPN calculator using JavaScript.
sampleLogCalcImplementing an calculator with log using JavaScript.
nullKeypadKeypad is not shown.
sampleBasicCalcImplementing a basic calculator.
sampleSciCalcImplementing a scientific calculator.
sampleMenuCmdTrying <MENU menuItem> command.
sampleKeyShortcutSample key shortcuts useful when connecting physical keyboard.

sampleScoring

Usage

When touching a key, The string shown on the key is entered into the current cell. When touching 'Clear' key, the current cell is cleared. Then the current cell is moved below.

Setting

The 'Excellent' key is described in the layout file as follows.

ButtonTextExcellent
ButtonCommand<CLR>Excellent<DOWN>
MeaningClear the current cell→Add 'Excellent' to the cell→Move the cell down
The keys of 'Good' 'Average' 'Fair' 'Poor' have similar description. The string shown on the key and string entered into the cell can be different. Any Unicode string can be described.

In the command sequence of 'Clear' key, the addition of string is skipped.

ButtonTextClear
ButtonCommand<CLR><DOWN>
MeaningClear the current cell→Move the cell down

sampleAttendance

Usage

When touching a key, The corrensonding string is entered into the current cell. When touching 'Clear' key, the current cell is cleared. Then the current cell is moved below.

Setting

The layout description is very similar to the above sampleScoring. The 'Attend' key is described in the layout file as follows.

ButtonTextAttend
ButtonCommand<CLR>Att.<DOWN>
MeaningClear the current cell→Add 'Att.' to the cell→Move the cell down

Other keys have similar description. The string shown on the key and string entered into the cell can be different. The Unicode string can be described.

sampleChecking

Usage

'Chk' key adds a check mark into the current cell. 'Unchk' key removes a check mark from the current cell. Arrow keys move the current cell.

Setting

The 'Chk' / 'Unchk' keys are described in the layout file as follows.

ButtonTextChkUnchk
ButtonCommand<BS>
MeaningAdd '✓' into the current cellBackSpace (Remove last character)

Arrow keys are described in the layout file as follows.

ButtonText<^>v
ButtonCommand<LEFT><UP><RIGHT><DOWN>
MeaningMove to left cellMove to up cellMove to right cellMove to down cell
The string displayed on the key can be replaced from '>' to '→' and others.

sampleCounter

Usage

The '+' key increments the value of the current cell. The '-' key decrements the value of the current cell. The 'CLR' key clears the current cell.

Setting

The '+' key is described in the layout file as follows.

ButtonText+
ButtonCommand+1<EVAL>
MeaningAdd string '+1' into the current cell→Evaluate as arithmetic

When the cell has '2', the string becomes '2+1' by the addition of '+1'. The evaluation of the string is '3'. When the cell is blank, the string becomes '+1' by the addition of '+1'. The evaluation of the string is '1'. The "-" key has similar description. The 'CLR' key has command "<CLR>" to erase the content of the current cell.

sampleCounter2

Usage

The '+'/'-' keys in columns 'A', 'B' and 'C' increment/decrement the A1, B1 and C1 cell values. The 'CLR' key clears the current cell.

Setting

The '+' key in the column 'A' is described in the layout file as follows.

ButtonText+
ButtonCommand<GO A1>+1<EVAL>
MeaningMove to 'A1' cell→Add string '+1' into the current cell→Evaluate as arithmetic

Movement of the current cell is added to the above 'sampleCounter'. Commands of other keys are same except the string of '+'/'-' and 'A1'/'B1'/'C1'.

sampleLogging

Usage

The 'Start' key enters the string 'start' and the current time into the adjacent cells. The 'Stop' key enters the string 'stop' and the current time into the adjacent cells. The 'Clear' key clears the cell. The current cell is moved downward after each processing.

Setting

The 'Start' key is described in the layout file as follows.

ButtonTextStart
ButtonCommand<CLR>start<RIGHT><CLR><NOW TIME><DOWN><LEFT>
MeaningClear the current cell→Add string 'start' to the cell→Move to right cell →Clear the current cell→Add current time to the cell→Move to down cell→Move to left cell
In the description of 'Stop' key, the string is replaced to 'stop'. The 'Clear' key describes the clear command '<CLR>'.

sampleQuestionnaire

Usage

Each key of 'Sex','Age','Q1','Q2','Q3','Q4' shows the question, and inputs the answer into the corresponding cell. For the 'Sex' and 'Age' keys, the string of selected answer is entered. For the 'Q1','Q2','Q3','Q4' keys, the index number of selected answer is entered. The 'AnswerAll' key repeats all questions sequentially.

Setting

The 'Sex' key is described in the layout file as follows.

ButtonTextSex
ButtonCommand<GO RC1><CLR><LIST Sex>
MeaningMove to RC1 (Same row and first Column) cell→Clear the cell→ Show list named 'Sex' and add the answer string into the cell

The list is described in the same layout file as follows.

SexMale or Female?MaleFemaleOther
First column is the list name. Second column is the list title. Third column or later is list item. The 'Age' key has similar description.

as the 'Q1' key or later uses the command <LISTN name> instead of <LIST name>, the value entered into cell is not the answer string but the answer index (a number starting from zero). The 'AnswerAll' key describes the commands of above keys sequentially.

sampleCashcalc

Usage

It realizes a popular calculator. The 'Memo' key enters the category and date of expenses. The memory function uses the keys 'M+'(Memory Plus), 'M-'(Memory Minus), 'MR'(Memory Recall), and 'MC'(Memory Clear). The E1 cell shows the value of memory.

Setting

The commands of the numeric key is the numeric character itself. Also the commands of operators, decimal point, and parentheses are the character itself. The arithmetic expression is formed by connecting these characters.

ButtonText789\u2797
ButtonCommand789/
MeaningAdd '7' to the cellAdd '8' to the cellAdd '9' to the cellAss '/' to the cell
The character displayed on the division key is described with Unicode.

A numeric value does not change, even if a character '.' is added. Thus the character is added after string conversion. For a similar reason, a character '0' is also added after string conversion.

ButtonText0.
ButtonCommand<TYPE STR>0<TYPE STR>.
MeaningChange cell type to string→add '0'Change cell type to string→add '.'

The '=' key executes the movement and evaluation of the cell.

ButtonText=
ButtonCommand<RIGHT><CLR><EVAL R[0]C[-1]><DOWN><LEFT>
MeaningMove to right cell→Clear cell→Evaluate right cell→Move to down cell→Move to left cell
When this key is touched on the arithmetic expression cell, the evaluation result is entered to the right-hand side cell. The description 'R[0]C[-1]' means the cell on the same row and one-step-left column with the current cell (the cell can also be described as 'RC[-1]'). After entering the result, the current cell is moved to the next row.

The 'Memo' key enters the category and the date of expenses in the adjacent cells.

ButtonTextMemo
ButtonCommand<CLR><LIST Expenses><RIGHT><CLR><NOW DATE>
MeaningClear the cell→Show list named 'Expenses' and add the answer string into the cell →Move to right cell→Clear the cell→Enter current date
The list 'Expenses' is as follows.
Expensesexpensesfoodscommodityrecreationcloses...

The keys 'M+','M-','MR','MC' realizes memory function.

ButtonTextM+
ButtonCommand<SETV @val><GO E1><CLR><GET @mem>+<GET @val><EVAL><SETV @mem><GO BACK><DOWN>
MeaningSet the cell value to @val→Move to E1 cell→Clear the cell→ Get the value of @mem and add to the cell→Add string '+' to the cell→Get the value of @val and add to the cell→ Evaluate the cell→Set the cell value to @mem→Move to previous cell→Move to down cell
The variable @mem has the current memory value. The 'M+' key adds the current cell value and memory value and stored the result to the variable @mem (The addition is executed on the E1 cell). Other keys execute similar commands.

Memory function is changed to the description of JavaScript.

sampleMultimodal

Usage

The 'VoiceIn' is voice recognition input. The 'VoiceInSeq' is the repetition of 'VoiceIn'. The 'QRcodeIn' is the QR code input. The 'QRcodeOut' is the QR code output. the 'Location' is the location input. The latitude and longitude of current position is entered such as '37.421998333333335,-122.08400000000002'. The location is searched by using GPS or network. Using network is less accuracy and less power. The 'TripMemo' is the input of current location, current time, and voice recognition memo. The 'WebSearch' searches the current cell content on the Web (GoogleSearch). When executed on the cell having location (latitude,logitude), the map of the location is displayed. When executed on the cell having URL, the web page is displayed. The 'SpeakOut' speaks the current cell content.

Setting

The keys of 'VoiceIn','QRcodeIn','Location','WebSearch' are described in the layout file as follows.

ButtonTextVoiceInQRcodeInLocationWebSearch
ButtonCommand<VOICE><DOWN><QRCODE><DOWN><LOCATION><DOWN><WEB><DOWN>
MeaningVoice input→Move to down cellQRcode input→Move to down cellLocation input→Move to down cellWeb search of the current cell text→Move to down cell
These keys call the corresponding functions and move the current cell downward.

The 'VoiceInSeq' is the loop execution of commands for 'VoiceIn'. The 'QRcodeOut' executes the qr code output function.

ButtonTextVoiceInSeqQRcodeOut
ButtonCommand<LBL a><VOICE><DOWN><JMP a><QRCODE OUT>
MeaningLabel a→Voice input→Move to down cell→Jump to label aQR code output

The 'TripMemo' executes the location input, cell movement, time input, cell movement and voice input sequentially. The 'SpeakOut' executes the text-to-speech function.

ButtonTextTripMemoSpeakOut
ButtonCommand<LOCATION><RIGHT><NOW DATETIME><RIGHT><VOICE><GO R[1]C[-2]><SPEAK>
MeaningLocation input→Move to right cell→Date time input→Move to right cell→Voice input→Move to the cell at 1 down and 2 left.Speak out the current cell content.

sampleCommands

Usage

This layout is the trial of various commands.

Setting

Each command in layout file corresponds to the string on each key. refer Help for the detail of command. The texts for arrows are Unicode expression.

sampleJump

Usage

This is a sample for understanding the jump.

The 'If=A1 Then' key is a sample of the conditional jump. When the value of the current cell value equals to A1 cell, the string 'Same' is entered into the right cell. Otherwise nothing is done.

The 'If =A1 Then Else' key is the other sample of the conditional jump. When the value of the current cell value equals to A1 cell, the string 'Same' is entered into the right cell. Otherwise the string 'Diff' is entered into the right cell.

The 'For x=1,10' key is a sample of the definite loop. The string 'AA' is entered into 10 cells from the current cell to downward.

The other 'For x=1,10' key is another sample of the definite loop. It enters the incremental values from the current cell to downward.

The 'For x=1,3;y=1,5' key is a sample of a definite double loop. It fills the string 'AA' to the cell between the current cell and the cell at 5-down and 3-right.

The 'While x<=10' key is a sample of indefinite loop. It repeats while a variable is less than or equals to 10.

Setting

The 'If=A1 Then' key is described in the layout file as follows.

ButtonTextIf =A1 Then
ButtonCommand<JNE A1 x><RIGHT><CLR>Same<LBL x>
MeaningIf the current cell value is not equals to A1 cell, jump to label x→ Move to right cell→Clear the cell→Add string 'Same'→Label x

The 'If =A1 Then Else' key is described in the layout file as follows.

ButtonTextIf =A1 Then Else
ButtonCommand<JNE A1 x><RIGHT><CLR>Same<JMP y><LBL x><RIGHT><CLR>Diff<LBL y>
MeaningIf the current cell value is not equals to A1 cell, jump to label x→ Move to right cell→Clear the cell→Add string 'Same' to the cell→Jump to label y→ Label x→Move to right cell→Clear the cell→Add string 'Diff' to the cell→Label y

The 'For x=1,10' key is described in the layout file as follows.

ButtonTextFor x=1,10
ButtonCommand<JLMT x 10><LBL x><CLR>AA<DOWN><JMP x>
MeaningLimit the jump count of label x to 10→Label x→Clear the cell →Add string 'AA' to the cell→Move to down cell→Jump to label x

Another 'For x=1,10' key is described in the layout file as follows.

ButtonTextFor x=1,10
ButtonCommand<CLR>1<JLMT x 9><LBL x><DOWN><CLR>R[-1]C+1<EVAL><JMP x>
MeaningClear the cell→Add '1' to the cell→Limit the jump count of label x to 9 →Label x→Move to down cell→Clear the cell→Add string 'R[-1]C+1' to the cell→ Evaluate the cell→Jump to label x
The expression 'R[-1]C' is the reference to the cell at the 1-upper row and same column. Thus the command 'R[-1]C+1<EVAL>' calculates the upper cell value plus 1 and enters the result to the current cell.

The 'For x=1,3;y=1,5' key is described in the layout file as follows.

ButtonTextFor x=1,3;y=1,5
ButtonCommand<SETR @s><JLMT x 3><LBL x><JLMT y 5> <LBL y><CLR>AA<DOWN><JMP y><GO @s><RIGHT><SETR @s><JMP x>
MeaningSet the current cell reference (such as A1) to variable @s→Limit the jump count of label x to 3 →Label x→Limit the jump count of label y to 5→Label y→Clear the cell→Add string 'AA' to the cell→ Move to down cell→Jump to label y→Move to the cell refered by @s→Move to right cell→ Set the current cell reference to @s→Jump to label x

The 'While x<=10' key is described in the layout file as follows.

ButtonTextWhile x<=10
ButtonCommand<GO B1><CLR>10<GO BACK><CLR>0<JLMT x 100> <LBL x><DOWN><CLR>R[-1]C + 1<EVAL><JLT B1 x>
MeaningMove to B1 cell→Clear the cell→Add string '10' to the cell→Move to previous cell→ Clear the cell→Add string '0' to the cell→Limit the jump count of label x to 100→Label x→ Move to down cell→Clear the cell→Add string 'R[-1]C+1' to the cell→Evaluate the cell→ If the current cell value is less than B1 cell, jump to label x
The B1 cell has the max loop count. The cell movement and increment is repeated, while the cell value is less than the B1 cell. The setting of jump limit can be omitted but is described to stop in case of infinite loop error.

sampleFormula

Usage

This is the sample for understanding the Excel formula.

The 'f(cell)' applys the Excel formula to the current cell.

The 'Set Corner' assigns the two corners of the range. Use this key to assign the range before touching the following 'f(range/rows/cols)'. To assign a range, touch this key on an edge of the range and touch again on other edge of the range.

The 'Help' shows the help message.

The 'f(range)' applys an Excel formula to the range.

The 'f(rows)' applys an Excel formula to the rows included in the range.

The 'f(cols)' applys an Excel formula to the columns included in the range.

Setting

The 'f(cell)' key is described in the layout file as follows.

ButtonTextf(cell)
ButtonCommand<SETV @x><CLR><LIST cellfunc>(<GET @x>)<TYPE FRML>
MeaningSet cell value to @x→Clear the cell→Show list 'cellfunc' (and wait the input)→add '('→Get @x and add to the cell→add ')'→Change cell type to formula

The cell string is formed as: cellfunc + '(' + @x + ')'. The 'cellfunc' is selected from the list defined as follows in the layout file.

cellfuncCell Functionssqrtsincostanasinacosatanexplnloglog10

The 'Set Corners' key is described in the layout file as follows.

ButtonTextSet Corners
ButtonCommand<CLR><RANGE>
MeaningStart/end the assignment of the range
The command '<RANGE>' starts the range assignment. When the range assignment is in progress, the range is fixed.

The 'f(range/rows/cols)' key is similar to the 'f(cell)' key.

sampleJavaScript

Usage

Trying JavaScript and Dialog.

See Help for the details.

sampleRpnCalc

Usage

A RPN (Reverse Polish Notation) calculator is realized. The 'RPN' is an expression placing the operators after the operands. It was employed in HP calculators. An addition '2+3' is expressed as '2 3 +'. In this calculator, the key touch is as '[2] [Enter] [3] [+]'. The functions can be modified in the layout file.

sampleLogCalc

Usage

A calculator having calculation log is realized. It records the result of each operation on each row. The functions can be modified in the layout file.

nullKeypad

Usage

No keypad is shown. Select this layout when you need no keypad.

sampleBasicCalc

Usage

A simple basic calculator is realized. It uses the current cell only for the calculation. The arithmetic expression is used for the implementation.

sampleSciCalc

Usage

A scientific calculator is realized. It uses the current cell only for the calculation. The lists of functions and constants can be modified in the layout file. The Excel formula is used for the implementation.

sampleMenuCmd

Usage

This is a sample for understanding the command <MENU menuItem>.

sampleKeyShortcut

Usage

No keypad is shown. Only the key shortcuts are defined. This setting is useful when connecting physical keyboard.

The defined shortcuts can be confirmed in 'Menu>Layout Edit Mode'. The sample defines 'Ctrl+C' (Copy), 'Ctrl+V' (Paste), 'Alt+M' (Show Option Menu) and others.


If you devise a layout, please inform me by an email. The useful layout will be added in this page.