Shift, Alt, Flare & Does Not Stack

I raised some items on the tracker concerning issues with modifier keys and I think this one merits wider discussion. Part of the issue is long-standing but I think it more worthwhile to consider since v3.5, before modules become unnecessarily diverse in the key combinations used for Does Not Stack select and for “Flare”.

This information is based on behaviour on the Mac.

Introduction:
Shift+Left-Click has a standard role for cumulative selection of objects. It is similar to the MacOS Vassal Command+Left-Click key except that will also de-select.
Shift+Left-Click is also an option for the Does Not Stack trait to select a piece.
The only modifier key alternative on the Does Not Stack trait is Alt+Left-Click.

Issue:
When used for Does Not Stack, Shift+Left-Click, pieces so selected are added to the group select. This can create confusion/overhead for the user. The alternative, Alt+Left-Click, will trigger a Flare by default.

Considerations:
1a) Are two types of Select command key really needed? It makes sense for list-based commands, where Shift is creating a group in list-mode and Command (on Mac) is creating a group in an arbitrary order. Pieces on a board, don’t have a list order.

1b) If the ambiguous role of Shift were removed, the user could be given control of group select because the Select modifier should layer on top of whatever function is being used. e.g. the Does Not Stack select key.

  1. Should the Flare function be standardised; configured through map and global options but always working from a standard key command combination ? The standard function should be chosen that does not conflict with OS or existing Vassal functions; perhaps Fn+Left-Click or Shift+Alt+Left-Click.

One note is that “Shift+LeftClick” was only included because that has been the version VASL chose long ago, and since we were effectively upgrading their code by including Flare in VASSAL we wanted to give them something that would comfortably replace what they’d already been doing for years. I wouldn’t recommend Shift+LeftClick for anybody else.

To summarise my main concern; the Does Not Stack only has two key modifier options and both conflict with other parts of Vassal. These are:-

  1. Shift+LeftClick. Conflicts with Vassal piece selection; if VASL requires it for piece selection, it would be nice to be able to disable that piece selection role as a user preference.

  2. Alt+LeftClick. Conflicts with the default option for “Flare”. I suggest that Flare would be best to be a ubiquitous window function with a standard key/click combination, one that does not conflict with other Vassal or OS functions.

In related news, on Mac (at least), the Flare “Cmd” key options do not appear to work. In the case of Cmd+LeftClick that is just as well, as it would also conflict with a Vassal piece select function.

Bug 14396 raised concerned the Flare / Cmd key issue.