Create a custom HMI keypad with larger text

7 min read · Published November 10, 2026

Editing a locked system default keypad changes nothing on the panel. The route that works: copy the default that matches your data type inside Database > Define Keypad, enlarge the copy, then assign it under Keypad Selection and confirm with Preview.

You cannot push a font change through a locked system default keypad. The edit saves in the editor, the download completes, and the panel still draws the stock 6 x 8 characters. On a 6-inch panel project the Display Large Keypad box under Set-up > Panel Manager is grayed out, so that shortcut is closed. The route that works is a user-defined keypad: copy the default that matches your data type inside Database > Define Keypad, enlarge the copy, then point each numeric entry object at it under Keypad Selection and confirm the pairing with Preview. This page gives the procedure, the letter sizing for a small panel, and the checks to run after download.

Why the panel keeps the small keypad

What appears on the glass follows the keypad selected in the entry object. While that selection names a system default, the panel draws the default as shipped, with its 6 x 8 font, and your saved edit changes nothing the operator sees. Treat the lock symbol on those defaults as a marker: they are templates to copy from, not screens to edit.

The Display Large Keypad box deserves one look. It was available on the 8-inch panel and grayed out in each 6-inch panel project tried. If your project targets a 6-inch panel, stop there and go straight to a user-defined keypad.

One neighboring case looks similar: the keypad draws small because the panel runs a high resolution and everything on it scales down. That is a scaling problem, not a keypad-selection problem, and it needs its own fix before the procedure below helps.

What you see What it points to What to do
Font edits save, the panel still shows the 6 x 8 font The entry object still selects the system default Build a user-defined copy and assign it under Keypad Selection
Display Large Keypad is grayed out The panel model does not offer the option Skip the checkbox and use a user-defined keypad
Your keypad opens but a value will not enter The numeric entry object has to be pressed to accept input Build that press into the operator sequence, or change the screen design

What you need before you start

  • The variable list with data types. The timers in the project this procedure came from were unsigned 16-bit integers.
  • The default that matches each type. Each system default keypad serves one data type, such as Signed Int or Unsigned Int, so pick the match before you copy.
  • The viewing distance from the operator to the panel, which sets the letter height.
  • The minimum and maximum you will allow each variable, in case the SYS tags will not drive the custom keypad and the limits have to be entered by hand.

Copy the matching default inside Define Keypad

  1. Open Database > Define Keypad. The screen preview area is replaced by the system default keypads.
  2. Select the default closest to the layout you want, matching the entry data type. For unsigned 16-bit timers that is the Unsigned Int keypad.
  3. Copy that keypad and paste it back into the same default-keypad view. This is the step that fails when it is done differently: pasting into a new screen builds nothing the entry object can select. Pasting in place creates the user-defined keypad. In the reported project the heading changed to "1010 user define keypad", and the editor's default name for a fresh paste is "User Define Keypad 1".
  4. Edit the copy. Resize and reposition keys, set larger bold fonts, set the background white for contrast. Leave the SYS tags on the dynamic text and the tags on the key buttons alone: the dynamic text shows the live value, and the key buttons send the digits.
  5. Turn Define Keypad off to return to normal screen editing.

The same user-defined route changes the layout or size of a password, numeric entry or text entry keypad, so a text field can get the same treatment later.

Size the letters for the distance

Plan on 20 ft of viewing distance per inch of letter height for fast reading, and treat 30 ft per inch as the floor for plain legibility (FHWA planning figures). Set the line spacing of the value display to 1.7 x the capital height. A white background with large bold characters was exactly what the customer asked for in the project above, and it costs nothing in the editor.

Assign the keypad and set the limits

  1. Open the numeric entry object.
  2. Under Keypad Selection, select your user-defined keypad.
  3. Press Preview and read what it shows. The preview must display your enlarged keypad, and that is the check that the object and the keypad are paired before you download anything.
  4. If the SYS tags will not drive the custom keypad, enter the minimum and maximum values by hand and check them against the variable's intended range.
  5. Repeat for every entry object. In the project this came from, one copied keypad was made per variable, all of them unsigned 16-bit integers, because each carried its own manual limits.

The mechanics of pointing an entry object at a user-defined keypad are laid out in linking a user-defined keypad to an HMI numeric entry object. The part that fails silently is the pairing, which is why Preview sits in the middle of the sequence.

Example: sizing a 12-key pad for a 6-inch panel read at 2 ft

Inputs: a 6-inch panel showing the stock 6 x 8 font, and an operator standing an arm's length from the machine, call it 2 ft. Assume the usual 4:3 screen shape for a panel that size, which gives about 4.8 in wide by 3.6 in tall (6 in x 0.8 and 6 in x 0.6).

Rule: letter height equals viewing distance divided by 20 for fast reading, and divided by 30 at the legibility floor. Line spacing is 1.7 x the capital height.

Arithmetic:

  • 2 ft ÷ 20 ft per inch = 0.10 in letter height for fast reading.
  • 2 ft ÷ 30 ft per inch = 0.067 in, the floor for legibility.
  • Layout with the usual 12-key numeric set, digits 0 through 9 plus clear and enter, in 3 columns and 4 rows: 4.8 in ÷ 3 = 1.6 in key width; 3.6 in tall minus a 0.8 in value field leaves 2.8 in, and 2.8 in ÷ 4 rows = 0.7 in key height.
  • Value display line spacing: 1.7 x 0.10 in = 0.17 in.

Result: keys 1.6 in wide by 0.7 in tall hold a 0.10 in label with a wide margin, seven times the letter height in key height alone. Decision: draw every key label at 0.10 in tall or more, measure it in Preview at panel scale or on the glass, and enlarge any label under 0.10 in before you spend time on colors. Anything under 0.067 in fails legibility at 2 ft outright.

Check it worked on the panel

  1. Save and download the project.
  2. On the glass, open the screen and press the numeric entry object. In the arrangement with numeric displays and screen change buttons reaching a keypad screen, the entry object still had to be pressed to accept input even with the keypad already visible. Build that press into the operator sequence, or test your way out of the design.
  3. Confirm the enlarged keypad appears on the panel with the font, contrast and key labels you set. Preview in the editor is not the glass.
  4. Enter one permitted test value and watch the variable take it and display it.
  5. Test both limits with commissioning values at the low end and the high end. A copied keypad can carry limits you never set.
  6. Write down which keypad is assigned to which object, so a later edit leaves no object pointing at the wrong template.

If the small keypad still appears, the answer is in Keypad Selection and Preview, in that order, before you touch the design again. When editor and panel disagree about text size on other objects as well, the font mapping behind it is covered in HMI editor and panel text size mismatch.

Recommendation: On a 6-inch project where Display Large Keypad is grayed out, stop chasing the checkbox. Copy the matching default, the Unsigned Int keypad for unsigned 16-bit timers, inside Database > Define Keypad, paste it in place, size the key labels to 0.10 in for a 2 ft stand, set manual minimum and maximum per variable, assign the copy under Keypad Selection, confirm with Preview, and download once. Use the checkbox only if your panel model shows it available, as the 8-inch panel did.

Questions

Why is Display Large Keypad grayed out on my project?

The option follows the panel model. The 8-inch panel offered it, while every 6-inch panel project tried had it closed. If your project targets a 6-inch panel, the checkbox stays closed and the user-defined keypad is the working route. Check the box once on your panel model, then move on.

I changed the font on the default keypad and downloaded. Why does the panel still show the small font?

The entry object still selects that system default, and the download leaves the selection exactly as it was. The lock on the default is the wrong thing to fight. Copy the default in Database > Define Keypad, paste in place, edit the copy, then select the copy under Keypad Selection and confirm in Preview before the next download.

Can one custom keypad serve every variable on the screen?

Plan on one copy per variable. In the project this procedure came from, every variable was an unsigned 16-bit integer and separate copies were still made, because the SYS tags would not drive the custom keypad and the minimum and maximum had to be entered by hand. Reuse a single keypad only after checking its value display, key behavior, limits and target variable.

Planning information, not legal or engineering advice. Rules differ by place: check codes and permits with your local authority and your licensed trades.

Keep reading

Build your signAsk for a quote