How to change the hot key for a button on a customized form from the fall-back hot key, "$", to an available hot key.

Document ID : KB000050993
Last Modified Date : 14/02/2018
Show Technical Document Details

Description:

Include a character that is not already in use as a hotkey, in the text string of the button's label.

Solution:

Before the Service Desk web interface displays a page, it automatically assigns hot keys to buttons, tab names and menu bar items. The automatic assignment of hot keys by Service Desk cannot be turned off. However, you may be able to influence the assignment of the hot keys selected by Service Desk for cases in which Service Desk has assigned the "$" hot key.

Service Desk uses the names of buttons, tabs, and menu bar items that are part of a web page that is to be displayed to determine the assignment of hot keys. For example, during the customization of forms using Web Screen Painter, buttons may be added to a form. When the button is displayed, the name that is displayed is the label. The label is the value that is set in the button's Caption property. When a page is being rendered, if each of the characters in the label are already being used as hot keys for other items on the page, Service Desk assigns "$" as the hot key for the button. In doing so, it appends a parenthesized and underlined "$" to the button label.

Multiple buttons may be assigned the "$" key by Service Desk. Pressing the "$" key multiple times causes all items with that hotkey assignment to gain focus one at a time. Once an item gains focus, pressing enter key produces the same effect as if the user had clicked the mouse button for that item.

To avoid having Service Desk assign "$" as the hot key for a new button, give the button a Caption that contains characters that are not already in use as hot keys when the form is displayed. To determine the hot keys that are in use, note the underlined character assigned to all buttons, tabs and menu titles of a page when it is displayed by the web browser. The underlined characters are the hot keys that are in use.

Figure 1 below shows un-customized list_nr.htmpl form from CA Service Desk Manager r12.5 CA SDM. Notice the underlined characters in the page such as the "S" in "Search" and the "i" in "Hide Filter" in the Configuration Item Search panel.

Figure 1.
Figure 1

Figure 2 below shows a customization of the same partial screen in which two buttons have been added to list_nr.htmpl. The new buttons are both named "Label". Notice the underlined characters in each new button. The "b" in the first new button named "Label" is a new hotkey. The "$" in the second new button which is also named "Label" is the default or fall-back hotkey; it is used because the hotkeys "L", "a", "b", "e", and "l" are already in use.

Figure 2.
Figure 2

Figure 3 below shows that the second button named "Label" has been renamed and no longer has the default hotkey, "$", assigned to it.

Figure 3.
Figure 3

For CA Service Desk Manager R12.5 CA SDM on Windows, the default "$" hotkey is specified in the file, window_manager.js as follows:

     var fallbackHotkey = "$"; // The fallback hotkey when all are in use

Likewise, the list of all possible hotkeys is specified in the same file as follows:

     var allHotkeys = "ABCEFGHIJKLMNOPQRSTUVWXYZ0123456789<>()$";

window_manager.js is located in the $NX_ROOT/bopcfg/www/wwwroot/scripts directory. Any customization of this file should be done to a copy of the file that is put in the $NX_ROOT/site/mods/www/wwwroot/scripts directory.

For some releases of Service Desk, the file named std_head.js also includes the allHotKeys variable so it requires similar changes.