From ddf5be1f8fc35c38dc241ca935bf4d408f2ff61d Mon Sep 17 00:00:00 2001 From: Ted Felix Date: Thu, 17 Jan 2013 20:03:54 -0500 Subject: [PATCH] Fix format of video/tabletmode event string The previous format caused Xorg's xserver to crash in lnxACPIGetEventFromOs() because it doesn't check for NULL returns from strtok(). --- input_layer.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/input_layer.c b/input_layer.c index 591ad64..db410c0 100644 --- a/input_layer.c +++ b/input_layer.c @@ -56,6 +56,14 @@ struct evtab_entry { evtest.c, acpi_genl, or kacpimon to find new events to add to this table. */ +/* + * The two numbers (e.g. "00000080 00000000") in each string is a format + * that Xorg and maybe others expect. + * + * See hw/xfree86/os-support/linux/lnx_acpi.c in xserver and specifically + * lnxACPIGetEventFromOs(). + */ + static struct evtab_entry evtab[] = { /*** COMMON EVENTS ***/ @@ -66,8 +74,8 @@ static struct evtab_entry evtab[] = { {{{0,0}, EV_KEY, KEY_SLEEP, 1}, "button/sleep SBTN 00000080 00000000"}, {{{0,0}, EV_SW, SW_LID, 1}, "button/lid LID close"}, {{{0,0}, EV_SW, SW_LID, 0}, "button/lid LID open"}, - {{{0,0}, EV_SW, SW_TABLET_MODE, 0}, "video/tabletmode TBLT off"}, - {{{0,0}, EV_SW, SW_TABLET_MODE, 1}, "video/tabletmode TBLT on"}, + {{{0,0}, EV_SW, SW_TABLET_MODE, 0}, "video/tabletmode TBLT 0000008A 00000000"}, + {{{0,0}, EV_SW, SW_TABLET_MODE, 1}, "video/tabletmode TBLT 0000008A 00000001"}, /*** VIDEO ***/ -- 1.8.1.1