The action of the keystroke is only executed if the field containing the keystroke has the focus. So you can put it into a group box and if one field of that box has the focus the keystroke should work.
Which UI are you using? It seems that ctrl-h does not work with the swing ui, maybe it's used for something else? With the swt ui it works fine. shift-h seems to work for both.
If you are wondering whether your keystroke gets registered you could add a breakpoint in SwingScoutAction#attachScout
Btw: Global keystrokes are registered on the desktop. When creating a new scout project it should automatically add one, the refresh outline keystroke:
When setting a label on a button that contains an amperand (&), the following character will be the hotkey of that button.
This however does not work, if the button has the displaystyle DISPLAY_STYLE_LINK set.
Is it simply not possible for link buttons or does one have to do it differently there?
If you use an ampersand in your label, the character following the ampersand will be used as a so-called mnemonic.
Usually, a button in the Scout model is displayed as a JButton (Swing) or Button (SWT / RAP) in the UI.
However, buttons with the display style DISPLAY_STYLE_LINK are represented as JHyperlinks or Hyperlinks respectively. These UI components do not support mnemonics.
Have a look at the classes SwingScoutButton / SwingScoutLink (Swing), SwtScoutButton (SWT) and RwtScoutButton (RAP) in the method setLabelFromScout.
In case of SwingScoutLink you can see that the ampersand is removed from the label before the text is set.
In SwingScoutButton the character following the ampersand is set as a mnemonic.
I guess you have to provide a custom keystroke for your link button as Claudio described above. A potential disadvantage is that the hotkey is not obvious to the user.