Function Keypad Persists on Touchscreen Devices in WebMKS/HTML SDK
search cancel

Function Keypad Persists on Touchscreen Devices in WebMKS/HTML SDK

book

Article ID: 437805

calendar_today

Updated On:

Products

VMware vCenter Server

Issue/Introduction

When launching a Virtual Machine (VM) console using the WebMKS/HTML SDK on a device with a touchscreen, a function key (Fn) keypad overlay appears and remains visible. This keypad may block a significant portion of the VM console window, interfering with the user interface.

  • The function key panel appears automatically upon console initialization.

  • The panel does not respect the "hide" class intended to keep it collapsed.

  • Users on mobile or touch-enabled tablets are primarily affected.

 

Environment

VMware vCenter Server

WebMKS/HTML SDK

Cause

The issue originates within the extendedKeypad.js file. Specifically, the function WMKS.extendedKeypad.prototype.getFunctionKeyHtml initializes the HTML with a hide class:

extendedKeypad.js
WMKS.extendedKeypad.prototype.getFunctionKeyHtml = function () {
return '<div class="fnKey-pane-wrapper hide" id="fnKeyPad">\

The hide class applied to the fnKeyPad element is currently unhandled by the associated CSS, preventing the panel from remaining hidden by default on touch-sensitive hardware.

Resolution

This issue is a known limitation. Engineering has scheduled a permanent fix for an upcoming release of the WebMKS/HTML SDK.

Workaround

Until the official fix is released, you can programmatically hide the keypad by toggling the Extended Keypad state twice immediately after the console is created. This forces the UI to synchronize and hide the persistent FnKey bar.

Implementation Example

To minimize visual flickering, it is recommended to wrap this logic in a short timeout or keep the container hidden until the toggle sequence completes.

Example code:

var wmks = WMKS.createWMKS("wmksContainer", {
allowMobileExtendedKeypad: true
});
setTimeout(function() {
wmks.toggleExtendedKeypad(); // Open
setTimeout(function() {
wmks.toggleExtendedKeypad(); // Close
}, 100);
}, 100);

Additional Information

For any further assistance or to track the status of the official fix, please contact Broadcom VCF API/SDK Support team by following article KB 436447.