Difference between revisions of "GINPUT"

From uGFX Wiki
Jump to: navigation, search
(Calibration)
(API reference)
 
(9 intermediate revisions by the same user not shown)
Line 3: Line 3:
  
 
== API reference ==
 
== API reference ==
The API reference of the GINPUT module can be found [http://api.ugfx.org/master/group___g_i_n_p_u_t.html here].
+
The API reference of the GINPUT module can be found [http://api.ugfx.io/group___g_i_n_p_u_t.html here].
  
 
== Touchscreen ==
 
== Touchscreen ==
Line 9: Line 9:
  
 
=== Board file ===
 
=== Board file ===
The [[Board File|board file]] API for the GINPUT touchscreen module looks like the following:
+
The GINPUT module requires a [[Board File|board file]] for each driver instance. A board file template and corresponding examples can be found under ''/drivers/ginput/touch/xxx/''.
<syntaxhighlight lang=c>
+
static void    init_board(void);
+
static bool_t  getpin_pressed(void);
+
static void    aquire_bus(void);
+
static void    release_bus(void);
+
static uint16_t read_value(uint16_t port);
+
</syntaxhighlight>
+
Examples and a template file can be found under ''/drivers/ginput/touch/xxx/''.
+
 
+
=== Attaching ===
+
The mouse has to be attached to [[GWIN]] using <code>gwinAttachMouse();</code> where the parameter is the device instance. Therefore, it is possible to use more than just one pointing device in the same GWIN environment.
+
<syntaxhighlight lang=c>
+
gwinAttachMouse(0);
+
</syntaxhighlight>
+
  
 
=== Calibration ===
 
=== Calibration ===
Line 30: Line 16:
 
== Digital input ==
 
== Digital input ==
 
Also known as the ''Toggle'' driver. This driver can be used to interface common digital inputs (GPIOs). Mostly this driver is used to attach hardware buttons to a [[GWIN]] [[Widgets|widget]].
 
Also known as the ''Toggle'' driver. This driver can be used to interface common digital inputs (GPIOs). Mostly this driver is used to attach hardware buttons to a [[GWIN]] [[Widgets|widget]].
 
ToDo
 
  
 
== Analog input ==
 
== Analog input ==
Line 37: Line 21:
 
It can also be used on digital inputs that emulate a graduated ratio output such as a digital "click" wheel (rotary encoder).
 
It can also be used on digital inputs that emulate a graduated ratio output such as a digital "click" wheel (rotary encoder).
  
ToDo
+
== Keyboard ==
 +
The keyboard driver allows to interface physical keyboards to a µGFX application.
 +
Note that there's also a virtual keyboard widget that provides an on-screen keyboard with customizable layouts. See [[keyboard]].
  
  
  
 
[[Category:Module]]
 
[[Category:Module]]

Latest revision as of 18:53, 3 August 2021

GINPUT architecture

GINPUT is a powerful module which provides an easy way to interface different hardware peripherals such as touchscreens to the rest of the library. It provides everything which these peripherals need in order to operate properly such as calibration routines for the touchscreens.

API reference

The API reference of the GINPUT module can be found here.

Touchscreen

A touchscreen can be interfaced very easily through the GINPUT module. It doesn't matter if it is a resistive, capacitive or any other touchscreen technology.

Board file

The GINPUT module requires a board file for each driver instance. A board file template and corresponding examples can be found under /drivers/ginput/touch/xxx/.

Calibration

See Touchscreen Calibration.

Digital input

Also known as the Toggle driver. This driver can be used to interface common digital inputs (GPIOs). Mostly this driver is used to attach hardware buttons to a GWIN widget.

Analog input

Also known as the Dial driver. This driver can be used to interface slow analog inputs. Mostly this driver is used to attach an analog peripheral such as a potentiometer or a sensor to a GWIN widget. It can also be used on digital inputs that emulate a graduated ratio output such as a digital "click" wheel (rotary encoder).

Keyboard

The keyboard driver allows to interface physical keyboards to a µGFX application. Note that there's also a virtual keyboard widget that provides an on-screen keyboard with customizable layouts. See keyboard.