Component: Keypad (Generic) (Keypad): Difference between revisions
No edit summary |
m Text replacement - "style="background-color:#EAE1EA;"" to "class="mtx-class-propfolder"" |
||
| (7 intermediate revisions by 2 users not shown) | |||
| Line 17: | Line 17: | ||
==Component Source Code== | ==Component Source Code== | ||
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/ | Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_Keypad_Base.fcfx FC_Comp_Source_Keypad_Base.fcfx] | ||
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/ | Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_Keypad_Base.fcfx FC_Comp_Source_Keypad_Base.fcfx] | ||
==Detailed description== | ==Detailed description== | ||
| Line 79: | Line 79: | ||
[[File:KeypadCirBuff.jpg]] | [[File:KeypadCirBuff.jpg]] | ||
| Line 89: | Line 93: | ||
===GetAscii=== | ===GetAscii=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GetAscii''' | ||
|- | |- | ||
| colspan="2" | Gets the ASCII value for the current keypress. If no key is pressed then the macro returns the value 255. | | colspan="2" | Gets the ASCII value for the current keypress. If no key is pressed then the macro returns the value 255. | ||
| Line 103: | Line 107: | ||
===GetIndex=== | ===GetIndex=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GetIndex''' | ||
|- | |- | ||
| colspan="2" | Gets the index value for the current keypress. If no key pressed then the macro returns the value 255. | | colspan="2" | Gets the index value for the current keypress. If no key pressed then the macro returns the value 255. | ||
| Line 117: | Line 121: | ||
===GetNumber=== | ===GetNumber=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GetNumber''' | ||
|- | |- | ||
| colspan="2" | Gets the numeric value for the current keypress. If no key pressed then the macro returns the value 255. | | colspan="2" | Gets the numeric value for the current keypress. If no key pressed then the macro returns the value 255. | ||
| Line 131: | Line 135: | ||
===GetString=== | ===GetString=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''GetString''' | ||
|- | |- | ||
| colspan="2" | Gets the ASCII value for the current keypress and returns in the form of a string. If no key pressed then the macro returns a null string. | | colspan="2" | Gets the ASCII value for the current keypress and returns in the form of a string. If no key pressed then the macro returns a null string. | ||
| Line 145: | Line 149: | ||
===WaitPressed=== | ===WaitPressed=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''WaitPressed''' | ||
|- | |- | ||
| colspan="2" | Blocking call that waits for one of the keys on the keypad to be pressed. The index of the key that was pressed is passed back to the user. | | colspan="2" | Blocking call that waits for one of the keys on the keypad to be pressed. The index of the key that was pressed is passed back to the user. | ||
| Line 159: | Line 163: | ||
===WaitReleased=== | ===WaitReleased=== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''WaitReleased''' | ||
|- | |- | ||
| colspan="2" | Blocking call that waits for the keys on the keypad to be released. If no key is pressed then the function will return immediatley. | | colspan="2" | Blocking call that waits for the keys on the keypad to be released. If no key is pressed then the function will return immediatley. | ||
| Line 170: | Line 174: | ||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |} | ||
==Property reference== | ==Property reference== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Properties''' | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Dimensions | ||
|- | |- | ||
|- | |- | ||
| Line 191: | Line 193: | ||
| colspan="2" | Number of columns (left to right) in the array of keys. Must be a value from one to four. | | colspan="2" | Number of columns (left to right) in the array of keys. Must be a value from one to four. | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Return Values | ||
|- | |- | ||
|- | |- | ||
| Line 205: | Line 207: | ||
| colspan="2" | A list of return values for the 'GetNumber' macro. Enter a comma separated list with one integer value per key, in order of key scanning. Columns are counted first (left-to-right), then rows (direction set by the 'First Row' property) e.g. for a 2*2 grid, the order would be... [Row0, Column0], [Row0,Column1], ][Row1, Column0], [Row1, Column1] | | colspan="2" | A list of return values for the 'GetNumber' macro. Enter a comma separated list with one integer value per key, in order of key scanning. Columns are counted first (left-to-right), then rows (direction set by the 'First Row' property) e.g. for a 2*2 grid, the order would be... [Row0, Column0], [Row0,Column1], ][Row1, Column0], [Row1, Column1] | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Connections | ||
|- | |- | ||
|- | |- | ||
| Line 219: | Line 221: | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Appearance | ||
|- | |- | ||
|- | |- | ||
| Line 228: | Line 230: | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Button | ||
|- | |- | ||
|- | |- | ||
| Line 237: | Line 239: | ||
| colspan="2" | Specifies the fill colour of the shape | | colspan="2" | Specifies the fill colour of the shape | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Label | ||
|- | |- | ||
|- | |- | ||
| Line 246: | Line 248: | ||
| colspan="2" | Specifies the font colour for the item | | colspan="2" | Specifies the font colour for the item | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Button | ||
|- | |- | ||
|- | |- | ||
| Line 255: | Line 257: | ||
| colspan="2" | Specifies the fill colour of the shape | | colspan="2" | Specifies the fill colour of the shape | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Label | ||
|- | |- | ||
|- | |- | ||
| Line 264: | Line 266: | ||
| colspan="2" | Specifies the font colour for the item | | colspan="2" | Specifies the font colour for the item | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Button | ||
|- | |- | ||
|- | |- | ||
| Line 273: | Line 275: | ||
| colspan="2" | Specifies the fill colour of the shape | | colspan="2" | Specifies the fill colour of the shape | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Label | ||
|- | |- | ||
|- | |- | ||
| Line 282: | Line 284: | ||
| colspan="2" | Specifies the font colour for the item | | colspan="2" | Specifies the font colour for the item | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Button | ||
|- | |- | ||
|- | |- | ||
| Line 291: | Line 293: | ||
| colspan="2" | Specifies the fill colour of the shape | | colspan="2" | Specifies the fill colour of the shape | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Label | ||
|- | |- | ||
|- | |- | ||
| Line 300: | Line 302: | ||
| colspan="2" | Specifies the font colour for the item | | colspan="2" | Specifies the font colour for the item | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Button | ||
|- | |- | ||
|- | |- | ||
| Line 309: | Line 311: | ||
| colspan="2" | Specifies the fill colour of the shape | | colspan="2" | Specifies the fill colour of the shape | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Label | ||
|- | |- | ||
|- | |- | ||
| Line 318: | Line 320: | ||
| colspan="2" | Specifies the font colour for the item | | colspan="2" | Specifies the font colour for the item | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Button | ||
|- | |- | ||
|- | |- | ||
| Line 327: | Line 329: | ||
| colspan="2" | Specifies the fill colour of the shape | | colspan="2" | Specifies the fill colour of the shape | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Label | ||
|- | |- | ||
|- | |- | ||
| Line 336: | Line 338: | ||
| colspan="2" | Specifies the font colour for the item | | colspan="2" | Specifies the font colour for the item | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Button | ||
|- | |- | ||
|- | |- | ||
| Line 345: | Line 347: | ||
| colspan="2" | Specifies the fill colour of the shape | | colspan="2" | Specifies the fill colour of the shape | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Label | ||
|- | |- | ||
|- | |- | ||
| Line 354: | Line 356: | ||
| colspan="2" | Specifies the font colour for the item | | colspan="2" | Specifies the font colour for the item | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Button | ||
|- | |- | ||
|- | |- | ||
| Line 363: | Line 365: | ||
| colspan="2" | Specifies the fill colour of the shape | | colspan="2" | Specifies the fill colour of the shape | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Label | ||
|- | |- | ||
|- | |- | ||
| Line 372: | Line 374: | ||
| colspan="2" | Specifies the font colour for the item | | colspan="2" | Specifies the font colour for the item | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Button | ||
|- | |- | ||
|- | |- | ||
| Line 381: | Line 383: | ||
| colspan="2" | Specifies the fill colour of the shape | | colspan="2" | Specifies the fill colour of the shape | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Label | ||
|- | |- | ||
|- | |- | ||
| Line 390: | Line 392: | ||
| colspan="2" | Specifies the font colour for the item | | colspan="2" | Specifies the font colour for the item | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Button | ||
|- | |- | ||
|- | |- | ||
| Line 399: | Line 401: | ||
| colspan="2" | Specifies the fill colour of the shape | | colspan="2" | Specifies the fill colour of the shape | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Label | ||
|- | |- | ||
|- | |- | ||
| Line 408: | Line 410: | ||
| colspan="2" | Specifies the font colour for the item | | colspan="2" | Specifies the font colour for the item | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Button | ||
|- | |- | ||
|- | |- | ||
| Line 417: | Line 419: | ||
| colspan="2" | Specifies the fill colour of the shape | | colspan="2" | Specifies the fill colour of the shape | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Label | ||
|- | |- | ||
|- | |- | ||
| Line 426: | Line 428: | ||
| colspan="2" | Specifies the font colour for the item | | colspan="2" | Specifies the font colour for the item | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Button | ||
|- | |- | ||
|- | |- | ||
| Line 435: | Line 437: | ||
| colspan="2" | Specifies the fill colour of the shape | | colspan="2" | Specifies the fill colour of the shape | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Label | ||
|- | |- | ||
|- | |- | ||
| Line 444: | Line 446: | ||
| colspan="2" | Specifies the font colour for the item | | colspan="2" | Specifies the font colour for the item | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Button | ||
|- | |- | ||
|- | |- | ||
| Line 453: | Line 455: | ||
| colspan="2" | Specifies the fill colour of the shape | | colspan="2" | Specifies the fill colour of the shape | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Label | ||
|- | |- | ||
|- | |- | ||
| Line 462: | Line 464: | ||
| colspan="2" | Specifies the font colour for the item | | colspan="2" | Specifies the font colour for the item | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Button | ||
|- | |- | ||
|- | |- | ||
| Line 471: | Line 473: | ||
| colspan="2" | Specifies the fill colour of the shape | | colspan="2" | Specifies the fill colour of the shape | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Label | ||
|- | |- | ||
|- | |- | ||
| Line 480: | Line 482: | ||
| colspan="2" | Specifies the font colour for the item | | colspan="2" | Specifies the font colour for the item | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Button | ||
|- | |- | ||
|- | |- | ||
| Line 489: | Line 491: | ||
| colspan="2" | Specifies the fill colour of the shape | | colspan="2" | Specifies the fill colour of the shape | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Label | ||
|- | |- | ||
|- | |- | ||
| Line 498: | Line 500: | ||
| colspan="2" | Specifies the font colour for the item | | colspan="2" | Specifies the font colour for the item | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Button | ||
|- | |- | ||
|- | |- | ||
| Line 507: | Line 509: | ||
| colspan="2" | Specifies the fill colour of the shape | | colspan="2" | Specifies the fill colour of the shape | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Label | ||
|- | |- | ||
|- | |- | ||
Latest revision as of 14:36, 13 July 2026
| Author | Matrix Ltd |
| Version | 1.5 |
| Category | Keypad |
Keypad (Generic) component
Generic component to create a raster scanned custom keypad or button matrix. By default, each key is labelled with its ASCII return character. Alternatively, each key may use an image as a label. To use a custom key shape, build a single key, then point to it with the 'Custom key shape" property. If the custom shape is a group, any item within the group that has a handle beginning with "label" will have the key label/image applied to it automatically.
Component Source Code
Please click here to download the component source project: FC_Comp_Source_Keypad_Base.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_Keypad_Base.fcfx
Detailed description
No detailed description exists yet for this component
Examples
3 x 4 Keypad Schematic
Example schematic of a 3 x 4 Keypad.
Multi Digit Number Entry
A simple example to take in a decimal number (0-65535) from the user and then use this number as a delay for flashing a LED on and off. Shows the principals of reading the keypad and building up a multi-digit number.
Keypad Based Door Entry System
Each key press on the keypad is fed into the Circular Buffer component. We then poll the buffer to see if the correct characters for the password have been entered.
If the correct sequence is detected then we activate the solenoid component for 5 seconds.
Macro reference
GetAscii
| GetAscii | |
| Gets the ASCII value for the current keypress. If no key is pressed then the macro returns the value 255. | |
| Return | |
GetIndex
| GetIndex | |
| Gets the index value for the current keypress. If no key pressed then the macro returns the value 255. | |
| Return | |
GetNumber
| GetNumber | |
| Gets the numeric value for the current keypress. If no key pressed then the macro returns the value 255. | |
| Return | |
GetString
| GetString | |
| Gets the ASCII value for the current keypress and returns in the form of a string. If no key pressed then the macro returns a null string. | |
| Return | |
WaitPressed
| WaitPressed | |
| Blocking call that waits for one of the keys on the keypad to be pressed. The index of the key that was pressed is passed back to the user. | |
| Return | |
WaitReleased
| WaitReleased | |
| Blocking call that waits for the keys on the keypad to be released. If no key is pressed then the function will return immediatley. | |
| Return | |

