On Wednesday, December 17, 2014 03:43:31 PM Hans de Goede wrote: > + /* > + * lradc supports only one keypress at a time, release does not give > + * any info as to which key was released, so we cache the keycode. > + */ > + if ((ints & CHAN0_KEYDOWN_IRQ) && lradc->chan0_keycode == 0) { > + val = readl(lradc->base + LRADC_DATA0) & 0x3f; > + voltage = val * lradc->vref / 63; > + > + for (i = 0; i < lradc->chan0_map_count; i++) { > + diff = abs(lradc->chan0_map[i].voltage - voltage); > + if (diff < closest) { > + closest = diff; > + keycode = lradc->chan0_map[i].keycode; > + } > + } > + > + lradc->chan0_keycode = keycode; > + input_report_key(lradc->input, lradc->chan0_keycode, 1); > + } > + > + if (ints & CHAN0_KEYUP_IRQ) { > + input_report_key(lradc->input, lradc->chan0_keycode, 0); > + lradc->chan0_keycode = 0; > + }
Can release and press be reported simultaneously? Should we process release first? Thanks. -- Dmitry -- You received this message because you are subscribed to the Google Groups "linux-sunxi" group. To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.