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.
VMware vCenter Server
WebMKS/HTML SDK
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.
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(); // OpensetTimeout(function() {wmks.toggleExtendedKeypad(); // Close}, 100);}, 100);
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.