v3.5.4-cbfbe8a9e Deck Hotkeys not working

3.5.4 dev Snapshot cbfbe8a9e:

Apparent breakage in Deck Hotkey functions.

Example Module: C&C Napoleonics v3.42

Normal behaviour of this module:

Start any scenario with a player role (not Observer).
Text label buttons to the right of the board allow selection of the two decks.
These buttons action a GKC to send a Global Hotkey that results in transfer of cards from the selected deck (on a hidden map)
to the playing area.
Under this version of Vassal, the deck selection has no effect because the Hotkey is ignored.

Similarly, another Send to Deck hotkey (for reshuffling of discard piles) is also ignored.
Example: Load this game file into the above module.
[attachment=0]CCN Ctrl+Alt+Shift+L test.vsav[/attachment]
Press Ctrl+Alt+Shift+L ; the rightmost discard pile is reshuffled into the red deck in earlier versions of Vassal but not in this development release.

Note - re the second example: Ctrl+Alt+Shift+L is a defined Hotkey on discard pile deck that initiates the send-to-deck reshuffle action.

In fact - unrelated to this bug report - the same hotkey is defined on both discard piles but only works on one of them when initiated direct from a keyboard. (Conversely, the hotkey works on both decks if initiated from a Global Hotkey trait).

Case 1:

  1. Load Module Commands & Colors: Napoleonics v3.42 from the Vassal library
  2. Start new scenario (e.g. Base Game, B001 Rolica), joining as “Allies”
  3. The game board will display. To the right side of the board is a blue button labelled “Choose a Command Deck to play”
  4. Click on the button and a drop down prompt will appear. Select the first option “Old 70 Command Cards”
    EXPECTED. At this point a deck of cards (blue back) should appear just below the button (which will have disappeared).
    ACTUAL: The button disappears but the deck of cards does not appear

Internals: Deck selection is performed in the piece in the “ChooseDeckButton” at-start stack in the Main Map.
After the deck is selected a Global Hotkey is actioned that is defined on the CommandCardsOld deck in the HiddenDeckStorage map.

Case 2:

  1. Load Module Commands & Colors: Napoleonics v3.42 from the Vassal library
  2. Load this game file into the module: [attachment=0]CCN Ctrl+Alt+Shift+L test.vsav[/attachment], connecting as “Allies”
  3. The game board will display with two decks and their discard piles already containing cards.
  4. Look at the rightmost decks (Red deck plus discard pile). Press Ctrl+Alt+Shift+L
    EXPECTED. The red deck’s discard pile should empty and a message will confirm that the deck has been reshuffled.
    ACTUAL: Nothing happens.

Internals: The keystroke is a hotkey define on the discard piles (due to a separate bug/feature the hotkey only acts on one of the decks).

Tested for build VASSAL-3.5.4-SNAPSHOT-1d21608

Both cases unchanged, not fixed.

Try the VASSAL-3.5.4-SNAPSHOT-listener_fix-b23da5bf6 build: vassalengine.org/~uckelman/tmp/

Does that fix the problem you’re seeing?

Also, does this fix Bug 13472? vassalengine.org/tracker/sho … i?id=13472

Yes! Both cases are fixed and so is Ticket 13472 according to my test.

Thanks for testing. This was of the last few issues holding up 3.5.4.