In Web Access, the button to show the virtual keyboard often appears even if a physical keyboard is available. One such example is a laptop with a touch screen. It is almost certain that the user will prefer to use the attached physical keyboard over any virtual on-screen variants.
In scenarios like an Android tablet with an attached folio-keyboard, it is more unclear if it is correct to display the keyboard button or not.
How we decide whether to show the virtual keyboard or not isn't ideal. Presently, we assume that we need to show it on all devices with a touch screen (we use the media query “any-pointer: coarse”).
Here's a discussion about adding a media query for detecting if a physical keyboard is available: