16#ifndef ZEPHYR_INCLUDE_DRIVERS_KB_SCAN_H_ 
   17#define ZEPHYR_INCLUDE_DRIVERS_KB_SCAN_H_ 
   55typedef int (*kscan_config_t)(
const struct device *dev,
 
   57typedef int (*kscan_disable_callback_t)(
const struct device *dev);
 
   58typedef int (*kscan_enable_callback_t)(
const struct device *dev);
 
   60__subsystem 
struct kscan_driver_api {
 
   61        kscan_config_t config;
 
   62        kscan_disable_callback_t disable_callback;
 
   63        kscan_enable_callback_t enable_callback;
 
   82static inline int z_impl_kscan_config(
const struct device *dev,
 
   85        const struct kscan_driver_api *api =
 
   86                                (
struct kscan_driver_api *)dev->
api;
 
   88        return api->config(dev, callback);
 
   99static inline int z_impl_kscan_enable_callback(
const struct device *dev)
 
  101        const struct kscan_driver_api *api =
 
  102                        (
const struct kscan_driver_api *)dev->
api;
 
  104        if (api->enable_callback == NULL) {
 
  108        return api->enable_callback(dev);
 
  120static inline int z_impl_kscan_disable_callback(
const struct device *dev)
 
  122        const struct kscan_driver_api *api =
 
  123                        (
const struct kscan_driver_api *)dev->
api;
 
  125        if (api->disable_callback == NULL) {
 
  129        return api->disable_callback(dev);
 
  140#include <syscalls/kscan.h> 
int kscan_disable_callback(const struct device *dev)
Disables callback.
 
int kscan_config(const struct device *dev, kscan_callback_t callback)
Configure a Keyboard scan instance.
 
int kscan_enable_callback(const struct device *dev)
Enables callback.
 
void(* kscan_callback_t)(const struct device *dev, uint32_t row, uint32_t column, bool pressed)
Keyboard scan callback called when user press/release a key on a matrix keyboard.
Definition: kscan.h:44
 
#define ENOSYS
Definition: errno.h:83
 
__UINT32_TYPE__ uint32_t
Definition: stdint.h:90
 
Runtime device structure (in ROM) per driver instance.
Definition: device.h:378
 
const void * api
Definition: device.h:384