mirror of
git://git.tartarus.org/simon/puzzles.git
synced 2025-04-21 16:05:44 -07:00
Introduce an environment variable setting (SLANT_SWAP_BUTTONS=yes)
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. [originally from svn r6168]
This commit is contained in:
23
slant.c
23
slant.c
@ -1402,6 +1402,29 @@ static char *interpret_move(game_state *state, game_ui *ui, game_drawstate *ds,
|
|||||||
int v;
|
int v;
|
||||||
char buf[80];
|
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);
|
x = FROMCOORD(x);
|
||||||
y = FROMCOORD(y);
|
y = FROMCOORD(y);
|
||||||
if (x < 0 || y < 0 || x >= w || y >= h)
|
if (x < 0 || y < 0 || x >= w || y >= h)
|
||||||
|
Reference in New Issue
Block a user