On 27/01/17 08:21, Oleksandr Andrushchenko wrote: > On 01/27/2017 09:12 AM, Juergen Gross wrote: >> Instead of using the default resolution of 800*600 for the pointing >> device of xen-kbdfront try to read the resolution of the (virtual) >> framebuffer device. Use the default as fallback only. >> >> Signed-off-by: Juergen Gross <jgross@xxxxxxxx> >> --- >> V2: get framebuffer resolution only if CONFIG_FB (Dmitry Torokhov) >> --- >> drivers/input/misc/xen-kbdfront.c | 15 ++++++++++++--- >> 1 file changed, 12 insertions(+), 3 deletions(-) >> >> diff --git a/drivers/input/misc/xen-kbdfront.c >> b/drivers/input/misc/xen-kbdfront.c >> index 3900875..3aae9b4 100644 >> --- a/drivers/input/misc/xen-kbdfront.c >> +++ b/drivers/input/misc/xen-kbdfront.c >> @@ -16,6 +16,7 @@ >> #include <linux/kernel.h> >> #include <linux/errno.h> >> #include <linux/module.h> >> +#include <linux/fb.h> >> #include <linux/input.h> >> #include <linux/slab.h> >> @@ -108,7 +109,7 @@ static irqreturn_t input_handler(int rq, void >> *dev_id) >> static int xenkbd_probe(struct xenbus_device *dev, >> const struct xenbus_device_id *id) >> { >> - int ret, i; >> + int ret, i, width, height; >> unsigned int abs; >> struct xenkbd_info *info; >> struct input_dev *kbd, *ptr; >> @@ -173,9 +174,17 @@ static int xenkbd_probe(struct xenbus_device *dev, >> ptr->id.product = 0xfffe; >> if (abs) { >> + width = XENFB_WIDTH; >> + height = XENFB_HEIGHT; >> +#ifdef CONFIG_FB >> + if (registered_fb[0]) { > This still will not help if FB gets registered after kbd+ptr Hmm, so you think I should add a call to fb_register_client() to get events for new registered framebuffer devices? This would probably work. I'll have a try. Thanks, Juergen -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html