On Mon, 09 Apr 2012 00:31:59 +0800 P Purkayastha <[email protected]> said:
well pretty simple. all the acpid's i see produce events like this: button/lid LID0 00000080 00000001 button/lid LID0 00000080 00000002 button/lid LID0 00000080 00000003 button/lid LID0 00000080 00000004 2 strings, then 2 hex numbers. yours does not. it provides 3 strings. why? this is nothing i've seen before, and i guess not supported in e. what kind of odd os setup do u have? > On 04/07/2012 10:46 AM, P Purkayastha wrote: > > Hi, > > > > In the "Hardware Configuration" dialog, I am unable to get e to bind to > > the "button/lid" acpi event. acpi_listen correctly displays that the > > event has been generated. > > > > I tried the sleep button, and the configuration dialog is able to detect > > that. So, it seems that e fails to detect the button/lid specifically. > > > > I know that the default profile comes with this option preconfigured. > > However, my config is quite old and heavily modified from the defaults, > > and I don't want to have to reconfigure everything (because I will > > inevitably forget to configure something). > > Investigating this a bit further, it seems the event never gets caught. > I have the following log from gdb. From file src/bin/e_acpi.c > _e_acpi_cb_server_data, line 207 onwards. > > (gdb) p str > $6 = 0x7ff9b4225db0 "button/lid LID close\n" <----- It gets the event. > (gdb) p p > $7 = 0x7ff9b4225dc4 "\n" > (gdb) s > 207 sdata = alloca(p - str + 1); > (gdb) p sdata > $8 = <optimized out> > (gdb) s > 208 strncpy(sdata, str, (int)(p - str)); > (gdb) p sdata > $9 = <optimized out> > (gdb) s > 207 sdata = alloca(p - str + 1); > (gdb) s > 121 return __builtin___strncpy_chk (__dest, __src, __len, __bos > (__dest)); > (gdb) s > 207 sdata = alloca(p - str + 1); > (gdb) s > 121 return __builtin___strncpy_chk (__dest, __src, __len, __bos > (__dest)); > (gdb) s > 209 sdata[p - str] = 0; > (gdb) s > 211 if (sscanf(sdata, "%1023s %1023s %x %x", > (gdb) s > 209 sdata[p - str] = 0; > (gdb) s > 211 if (sscanf(sdata, "%1023s %1023s %x %x", > (gdb) s > 274 str = p + 1; <------------ sscanf() above failed. > (gdb) p device > $14 = > "button/lid\000\000\377\177\000\000(0\222.\377\177\000\001\260X\034\002\000 > \000\000\000`H\034\002\000\000\000\000\224H\034\002\000\000\000\000\001\002 > \060~\000\000\000\000 H\034\002\000\000\000\000\360X\034\002\000\000\000\000 > \000\000\264\371\177\000\000 H\034\002\000\000\000\000\330\060\222.\377\177 > \000\000\340\302\027\264\371\177\000\000\300\060\222.\377\177\000\000\330\060 > \222.\377\177\000\000\376.Mb8\000\000\000\060~\004\000\000\000\000\000(\000 > \000\000\000\000\000\000p0\222.\377\177\000\000Y\371\237.\377\177\000\000\240 > \060\222.\377\177\000\000\001\000\000\000\000\000\000\000\001\000\000\000\000 > \000\000\000\340\062\222.\377\177\000\000\240\060\222.\377\177\000\000\063H@a8 > \000\000\000H\256bm?\000\000\000\377\377\377\377\000\000\000\000\001\000\000 > \000\000\000\000\000v\374@m?\000\000\000\360\060\222.\377"... (gdb) p bus $15 > = "LID\000\000\000\000\000\000\b\000\000\000\000\000\000\030\000\000\000\000 > \000\000\000\260R\204\264\371\177", '\000' <repeats 14 times>, "\027\000\000 > \000\220\000\000\000\000\000\000\000\060\376E\002\000\000\000\000\060\376E\002 > \000\000\000\000\200\000\000\000\000\000\000\000\377\357\377\377\371\177\000 > \000\377/\000\000\000\000\000\000\376\037\000\000\377\377\027\000\210\000\000 > \000\000\000\000\000\340\rs\002\000\000\000\000\004\376\377\377\377\377\377 > \377\000\000\000\000\000\000\000\000\000\376\377\377\377\377\377\377\377\357 > \377\377\000\000\000\000`", '\000' <repeats 16 times>, "\002\000\000\000\000 > \000\000\300)\222.\377\177\000\000\001\020\000\000\000\000\000\000P*\222.\377 > \177\000\000\060+\222.\377\177\000\000p\000\211n?\000\000\000P)\222.\377\177 > \000\000\304\314Y\305\371\177\000\000 \000\000\000?\000\000\000\001\020\000 > \000\377\177\000\000\000\000\000\000\000\000\000\001", '\000' <repeats 12 > times>... > > Any idea what is going on? > > ------------------------------------------------------------------------------ > For Developers, A Lot Can Happen In A Second. > Boundary is the first to Know...and Tell You. > Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! > http://p.sf.net/sfu/Boundary-d2dvs2 > _______________________________________________ > enlightenment-users mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/enlightenment-users > -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- The Rasterman (Carsten Haitzler) [email protected] ------------------------------------------------------------------------------ For Developers, A Lot Can Happen In A Second. Boundary is the first to Know...and Tell You. Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! http://p.sf.net/sfu/Boundary-d2dvs2 _______________________________________________ enlightenment-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-users
