blob: c6db2626b0d3bb2eafed8ae992f58324242e14ff [file] [log] [blame]
/*
* include/linux/keycombo.h - platform data structure for keycombo driver
*
* Copyright (C) 2014 Google, Inc.
*
* This software is licensed under the terms of the GNU General Public
* License version 2, as published by the Free Software Foundation, and
* may be copied, distributed, and modified under those terms.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#ifndef _LINUX_KEYCOMBO_H
#define _LINUX_KEYCOMBO_H
#define KEYCOMBO_NAME "keycombo"
/*
* if key_down_fn and key_up_fn are both present, you are guaranteed that
* key_down_fn will return before key_up_fn is called, and that key_up_fn
* is called iff key_down_fn is called.
*/
struct keycombo_platform_data {
void (*key_down_fn)(void *);
void (*key_up_fn)(void *);
void *priv;
int key_down_delay; /* Time in ms */
int *keys_up;
int keys_down[]; /* 0 terminated */
};
#endif /* _LINUX_KEYCOMBO_H */