summaryrefslogtreecommitdiff
path: root/drivers/char/keyboard.c
diff options
context:
space:
mode:
authorDmitry Torokhov <dmitry.torokhov@gmail.com>2010-01-30 08:53:29 (GMT)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2010-01-30 09:47:49 (GMT)
commit99b089c3c38a83ebaeb1cc4584ddcde841626467 (patch)
tree484a9ac4871a055873b6427d2f7c3c37554fd0ce /drivers/char/keyboard.c
parentef7995f4e46b1677f3eaaf547316e1a910b38dcb (diff)
downloadlinux-99b089c3c38a83ebaeb1cc4584ddcde841626467.tar.xz
Input: Mac button emulation - implement as an input filter
Current implementation of Mac mouse button emulation plugs into legacy keyboard driver, converts certain keys into button events on a separate device, and suppresses the real events from reaching tty. This worked well enough until user space started using evdev which was completely unaware of this arrangement and kept sending original key presses to its users. Change the implementation to use newly added input filter framework so that original key presses are not transmitted to any handlers. As a bonus remove SYSCTL dependencies from the code and use Kconfig instead; also do not create the emulated mouse device until user activates emulation. Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Diffstat (limited to 'drivers/char/keyboard.c')
-rw-r--r--drivers/char/keyboard.c5
1 files changed, 0 insertions, 5 deletions
diff --git a/drivers/char/keyboard.c b/drivers/char/keyboard.c
index f706b1d..cbf64b9 100644
--- a/drivers/char/keyboard.c
+++ b/drivers/char/keyboard.c
@@ -1185,11 +1185,6 @@ static void kbd_keycode(unsigned int keycode, int down, int hw_raw)
rep = (down == 2);
-#ifdef CONFIG_MAC_EMUMOUSEBTN
- if (mac_hid_mouse_emulate_buttons(1, keycode, down))
- return;
-#endif /* CONFIG_MAC_EMUMOUSEBTN */
-
if ((raw_mode = (kbd->kbdmode == VC_RAW)) && !hw_raw)
if (emulate_raw(vc, keycode, !down << 7))
if (keycode < BTN_MISC && printk_ratelimit())