Trigger ipad keyboard


I am wondering if there is a way to manipulate the ipad keyboard programmatically. My use case is quite simple. I have a form and a button to trigger the edit mode of the form. When the button is clicked the focus is set on a textfield of the form.

At this point i’d like the keyboard of the iPad to show up but it does not. However if I click in the area of the field, the keyboard shows up.

Another use case is combobox. I have a combobox with 3 choices. I want the user to chose one of the 3 choices but with the ipad the keyboard shows up which is something I don’t want in this case.

Any feedback on specific ipad support would be appreciated.


Could you simply replace the
with a
? That shouldn’t bring up the iPad keyboard.

Hi there,

Thanks for the reply. Yes I guess I can go native and avoid that indeed but the styling will be rather limited in this case.

My post is more an open discussion about explicit iPad support. I am rather new to web development so I am not even sure we could control this with specific constructs. I’d like to get more insight about what is possible today and what might be possible in the future with Vaadin.



Focusing should a field should actually bring up the virtual keyboard, but Apple has made our lives bit difficult here. They ignore focus calls (or opening the keyboard) if the event is not a user initiated. Our focus calls come from the server side so the mobile Safari don’t respect them. I don’t really know why they have added this limitation or is it just a bug, but I know that we are not alone with the issue. E.g. Sencha has the same problem.

I should probably start lobbying the webkit team to change this or try to find a workaround. In case you want to follow this issue here is a (closed) ticket in vaadin trac about this:


Thanks Matti !

Hi, I am looking to buy a iPad key pad / situation combination for my iPad 1 so I can use it to take moments at events. I know Zaggmate is excellent - but in …
ipad touch screen replacement

Hello all,

old issue… But maybe there is already a solution how this issue can be handled?

Is it iOS-related or Safari-related?

Best Regards,

I tested it… It is iOS-related. It also does not work with Chrome… Has anyone an idea?