to reverse the effect of the mouse buttons. Gareth has been
complaining about this for days: apparently he finds precisely the
opposite control system intuitive to me.
This is a horrendous hack, and pushes me one step closer to losing
my temper and designing a proper preferences architecture.
git-svn-id: svn://svn.tartarus.org/sgt/puzzles@6168
cda61777-01e9-0310-a592-
d414129be87e
int v;
char buf[80];
+ /*
+ * This is an utterly awful hack which I should really sort out
+ * by means of a proper configuration mechanism. One Slant
+ * player has observed that they prefer the mouse buttons to
+ * function exactly the opposite way round, so here's a
+ * mechanism for environment-based configuration. I cache the
+ * result in a global variable - yuck! - to avoid repeated
+ * lookups.
+ */
+ {
+ static int swap_buttons = -1;
+ if (swap_buttons < 0) {
+ char *env = getenv("SLANT_SWAP_BUTTONS");
+ swap_buttons = (env && (env[0] == 'y' || env[0] == 'Y'));
+ }
+ if (swap_buttons) {
+ if (button == LEFT_BUTTON)
+ button = RIGHT_BUTTON;
+ else
+ button = LEFT_BUTTON;
+ }
+ }
+
x = FROMCOORD(x);
y = FROMCOORD(y);
if (x < 0 || y < 0 || x >= w || y >= h)