Input: wistron - generate normal key event if bluetooth or wifi not present
If the subsystem is not present, instead of not doing anything, report the key press as a normal key. This is done by modifying at initialization the copied key entry table. Signed-off-by: Eric Piel <Eric.Piel@tremplin-utc.net> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
This commit is contained in:
Родитель
5a54c01157
Коммит
a894403766
|
@ -1186,7 +1186,7 @@ static int wistron_setkeycode(struct input_dev *dev, int scancode, int keycode)
|
|||
|
||||
static int __devinit setup_input_dev(void)
|
||||
{
|
||||
const struct key_entry *key;
|
||||
struct key_entry *key;
|
||||
struct input_dev *input_dev;
|
||||
int error;
|
||||
|
||||
|
@ -1219,6 +1219,23 @@ static int __devinit setup_input_dev(void)
|
|||
set_bit(key->sw.code, input_dev->swbit);
|
||||
break;
|
||||
|
||||
/* if wifi or bluetooth are not available, create normal keys */
|
||||
case KE_WIFI:
|
||||
if (!have_wifi) {
|
||||
key->type = KE_KEY;
|
||||
key->keycode = KEY_WLAN;
|
||||
key--;
|
||||
}
|
||||
break;
|
||||
|
||||
case KE_BLUETOOTH:
|
||||
if (!have_bluetooth) {
|
||||
key->type = KE_KEY;
|
||||
key->keycode = KEY_BLUETOOTH;
|
||||
key--;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче