Skip to content

rmsousa/fbkeyboard

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fbkeyboard

This is a framebuffer softkeyboard for use on devices with touchscreen input like smartphones or raspberry pi TFTs.
It was designed for the linux text console.
It uses freetype2 lib to render fonts.
Keystrokes will be sent to the kernel using uinput.

How to build:
Install the freetype2 library and headers (e.g. "apt install libfreetype-dev")
Run make in this directory.

How to run:
# ./fbkeyboard [-h] [-b framebufferdevice] [-d inputdevice] [-f font] [-r rotation]
framebufferdevice has to be the device node of the framebuffer, eg: /dev/fb0
inputdevice has to be the device node of the touchscreen, eg: /dev/input/event1.
If no inputdevice was given, the devices in /dev/input will be tried in readdir order (i.e. arbitrary), and the first one found with absolute axes support will be used.
font has to be a ttf file. If no font was given, "/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf" will be used.
rotation is a number between 0-3, 0 = normal, 1 = rotate CW, 2 = rotate 180 degrees, 3 = rotate CCW

Note:
For resistive touchscreens, they will very likely require calibration. It is recommended that you install the tslib binaries (e.g. "apt install libts-bin"), run ts_calibrate, run ts_uinput as a daemon, and use the created device as the -d parameter in fbkeyboard. Make sure to set the TSLIB_FBDEVICE and TSLIB_TSDEVICE variables appropriately before running the ts binaries.
The application tries to resize and restore the console size as appropriate.

About

a simple on screen keyboard for fbdev

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 95.0%
  • Roff 4.1%
  • Makefile 0.9%