Issue with External Bluetooth Keyboard Causing UI Distortion on iPad Devices

We have encountered an issue with our Ionic 6 app that arises when an external Bluetooth keyboard is connected, specifically on iPad devices. This problem primarily occurs when interacting with a text box positioned at the bottom of the screen. Currently, we have identified two cases of this issue:

When a user taps on the text box at the bottom of the device, the content is shifted upward or the entire app is lifted up, to display the keyboard above the accessory bar. However, upon closing the keyboard, the UI returns to its normal state, but the controls on the interface remain elevated. Consequently, users are required to click on the previous position of the keyboard or other elements as if the keyboard were still open, giving the impression that the app has frozen.

Steps to Reproduce:

  1. Ensure that the project bundle does not include the keyboard plugin.
  2. Connect an external Bluetooth keyboard to an iPad device.
  3. Launch the Ionic 6 app.
  4. Navigate to a screen containing a text box positioned at the bottom of the screen.
  5. Tap on the text box to open the external keyboard, enter some data, and then close the keyboard by tapping outside the text box.

Expected Result: The app should display the keyboard and allow input in the text box without any distortion or elevation of controls in the user interface.

Actual Result: Upon focusing on the text box, the entire app or its content is lifted up, causing UI distortion when the keyboard is subsequently closed. Although the UI returns to its normal state, the controls on the interface remain elevated, necessitating clicks above them to ensure proper functionality.

Additional Information:

  • We have created a demo Ionic 6 app with Angular that replicates the issue. You can find the demo project at the following GitHub repository: Demo Project - GitHub Repository
  • Please note that we do not utilize the Capacitor keyboard plugin in our project due to upgrading from Ionic 5 to Ionic 6. Integrating the keyboard plugin has significant impacts on various aspects of our project.
  • We are seeking a solution to resolve this issue without adding the keyboard plugin, if possible, due to the aforementioned impacts.

Environment:

  • Device: iPad 8th Gen
  • OS: iOS 16.5
  • Ionic Version: 6
  • Angular Version: 13
  • Capacitor Version: 4

Thank you for your attention to this matter. We greatly appreciate any guidance or suggestions you can provide to help us resolve this problem.