Skip to content

ViSi Keyboard Input Interface with an Underscore Cursor


This codebase example shows one way of implementing a blinking cursor on projects requiring a text input interface. The cursor looks like an underscore character that blinks at a predefined interval and at the correct location. The cursor is actually a line drawn with two alternating colours. To make this codebase example less complicated, a region on the display has to be defined. This region is the text box in which the cursor may move. The text box has a height equal to that of a single character only, and may contain up to 20 characters as determined by a constant in the code. The functions for the blinking action of the cursor use the x and y top-left coordinates of the text box, the height and width of the current font, and the current string character count to determine the correct location of the cursor. Feel free to modify this codebase example for your projects.


This codebase example assumes the reader can program the 4D Systems display module using Workshop4 IDE ViSi environment. Beginners are advised to read the following aplication notes.


  1. Compile the attached ViSi project and upload it to a uLCD-32PTU (or your target display). Copy the supporting files to a uSD mounted to the PC. Properly unmount the uSD card from the PC and mount it to the uLCD-32PTU.

  2. The program should now run on the display module. See the video for more information.


Limitations of this project:

  1. This project was designed for a single line-text box only.
  2. When replacing a character inside the string using the left and right arrow keys, the backspace button may not be used.


Project File