Lines Matching full:a

19     lv_indev_set_type(indev, LV_INDEV_TYPE_...);   /* Touch pad is a pointer-like device. */
32 ``my_input_read`` is a function pointer which will be called periodically to
41 category. Here is an example of a simple input-device Read Callback function:
65 Pointer input devices (like a mouse) can have a cursor.
117 To prevent passing the gesture event to the parent from a Widget, use
120 Note that, gestures are not triggered if a Widget is being scrolled.
122 If you did some action on a gesture you can call
131 A "Crown" is a rotary device typically found on smart watches.
135 (e.g. in case of a slider).
162 LVGL has the ability to recognize multi-touch gestures, when a gesture
163 is detected a ``LV_EVENT_GESTURE`` is passed to the object on which the
190 /* A counter that needs to be incremented each time a touch event is received */
211 A touch event is represented by the ``lv_indev_touch_data_t`` structure, the fields
217 Touch events are handled like any other event. First, setup a listener for the ``LV_EVENT_GESTURE``…
229 Full keyboards with all the letters or simple keypads with a few navigation buttons
232 You can fully control the user interface without a touchpad or mouse by using a
236 To use a keyboard or keypad:
238 - Register a Read Callback function for your device and set its type to
240 - Create a Widget Group (``lv_group_t * g = lv_group_create()``) and add Widgets to
263 A common example of an encoder is a device with a turning knob that tells the hosting
276 - When you press the encoder on a simple object (like a button), it will be clicked.
277 - If you press the encoder on a complex object (like a list, message box, etc.)
282 To use an Encoder (similar to the *Keypads*) the Widgets should be added to a group.
302 When input focus needs to be managed among a set of Widgets (e.g. to capture user
303 input from a keypad or encoder), that set of Widgets is placed in a group which
307 or the encoder actions. For example, if a :ref:`Text Area <lv_textarea>` has focus
308 and you press some letter on a keyboard, the keys will be sent and inserted into the
309 text area. Similarly, if a :ref:`Slider <lv_slider>` has focus and you press the
312 You need to associate an input device with a group. An input device can
313 send key events to only one group but a group can receive data from more
316 To create a group use :cpp:expr:`lv_group_t * g = lv_group_create()` and to add
317 a Widget to the group use :cpp:expr:`lv_group_add_obj(g, widget)`.
319 Once a Widget has been added to a group, you can find out what group it is in
322 To find out if a Widget in a group has focus, call :cpp:expr:`lv_obj_is_focused(widget)`.
323 If the Widget is not part of a group, this function will return ``false``.
325 To associate a group with an input device use :cpp:expr:`lv_indev_set_group(indev, g)`.
343 - :cpp:enumerator:`LV_KEY_ESC`: Close or exit (e.g. close a :ref:`Drop-Down List <lv_dropdown>`)
344 - :cpp:enumerator:`LV_KEY_DEL`: Delete (e.g. a character on the right in a :ref:`Text Area <lv_text…
345 - :cpp:enumerator:`LV_KEY_BACKSPACE`: Delete (e.g. a character on the left in a :ref:`Text Area <lv…
346 - :cpp:enumerator:`LV_KEY_HOME`: Go to the beginning/top (e.g. in a :ref:`Text Area <lv_textarea>`)
347 - :cpp:enumerator:`LV_KEY_END`: Go to the end (e.g. in a :ref:`Text Area <lv_textarea>`)
360 in a group and interact with selected Widgets.
371 Since a keypad has plenty of keys, it's easy to navigate between Widgets
372 and edit them using the keypad. But encoders have a limited number of
383 object. Depending on the Widget's type, a short or long press of
384 :cpp:enumerator:`LV_KEY_ENTER` changes back to *Navigate* mode. Usually, a Widget
385 which cannot be pressed (like a :ref:`Slider <lv_slider>`) leaves
386 *Edit* mode upon a short click. But with Widgets where a short click has
387 meaning (e.g. :ref:`Button <lv_button>`), a long press is required.
393 be automatically added to a default group. Just create a group with
403 When a Widget receives focus either by clicking it via touchpad or by navigating to
407 If a Widget switches to edit mode it enters the
456 A *Hardware Button* here is an external button (switch) typically next to the screen
457 which is assigned to specific coordinates of the screen. If a button is pressed it
458 will simulate the pressing on the assigned coordinate, similar to a touchpad.
466 ``points_array`` cannot be allowed to go out of scope. Either declare it as a
467 global variable or as a static variable inside a function.
478 …if(btn_pr >= 0) { /* Is there a button press? (E.g. -1 indicated no button was press…
489 a press/release action at the first index of the ``points_array`` will be performed (``{12,30}``).
513 Besides ``read_cb`` a ``feedback_cb`` callback can be also specified in
516 feedback for the user, e.g. to play a sound on :cpp:enumerator:`LV_EVENT_CLICKED`.
522 intermittent polling there is a chance that some user gestures are
537 might need to read it by polling a file descriptor (fd).
559 for a template for your own Input-Device driver.