mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-11-22 08:34:50 +00:00
defaultjoy option
This commit is contained in:
@@ -1027,6 +1027,8 @@ EX int lang() {
|
|||||||
|
|
||||||
EX bool autojoy = false;
|
EX bool autojoy = false;
|
||||||
|
|
||||||
|
EX bool defaultjoy = true;
|
||||||
|
|
||||||
EX void paramset(charstyle& cs, string s) {
|
EX void paramset(charstyle& cs, string s) {
|
||||||
param_i(cs.charid, s + ".charid");
|
param_i(cs.charid, s + ".charid");
|
||||||
param_color(cs.skincolor, s + ".skincolor", true, cs.skincolor);
|
param_color(cs.skincolor, s + ".skincolor", true, cs.skincolor);
|
||||||
@@ -1462,6 +1464,9 @@ EX void initConfig() {
|
|||||||
param_f(vid.joypanspeed, "vid.joypanspeed", ISPANDORA ? 0.0001 : 0);
|
param_f(vid.joypanspeed, "vid.joypanspeed", ISPANDORA ? 0.0001 : 0);
|
||||||
param_b(autojoy, "autojoy")
|
param_b(autojoy, "autojoy")
|
||||||
-> editable("joystick moves automatically", 'J');
|
-> editable("joystick moves automatically", 'J');
|
||||||
|
param_b(defaultjoy, "defaultjoy")
|
||||||
|
-> editable("apply joystick movements", 'H')
|
||||||
|
-> help("Disable this on Steam controllers, which also send key events, to avoid duplicated input.");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
vid.killreduction = 0;
|
vid.killreduction = 0;
|
||||||
@@ -2646,6 +2651,7 @@ EX void showJoyConfig() {
|
|||||||
dialog::addSelItem(XLAT("second joystick: pan threshold"), its(vid.joypanthreshold), 'c');
|
dialog::addSelItem(XLAT("second joystick: pan threshold"), its(vid.joypanthreshold), 'c');
|
||||||
dialog::addSelItem(XLAT("second joystick: panning speed"), fts(vid.joypanspeed * 1000), 'd');
|
dialog::addSelItem(XLAT("second joystick: panning speed"), fts(vid.joypanspeed * 1000), 'd');
|
||||||
dialog::addSelItem(XLAT("smoothen"), its(vid.joysmooth) + " ms", 'e');
|
dialog::addSelItem(XLAT("smoothen"), its(vid.joysmooth) + " ms", 'e');
|
||||||
|
add_edit(defaultjoy);
|
||||||
|
|
||||||
dialog::addBreak(50);
|
dialog::addBreak(50);
|
||||||
dialog::addBack();
|
dialog::addBack();
|
||||||
|
|||||||
@@ -1178,21 +1178,22 @@ EX void handle_event(SDL_Event& ev) {
|
|||||||
|
|
||||||
if(joyhandler && joyhandler(ev)) ;
|
if(joyhandler && joyhandler(ev)) ;
|
||||||
|
|
||||||
else if(ev.type == SDL_EVENT_JOYSTICK_HAT_MOTION && !normal) {
|
else if(ev.type == SDL_EVENT_JOYSTICK_HAT_MOTION && !normal && defaultjoy) {
|
||||||
if(ev.jhat.value == SDL_HAT_UP) sym = SDLK_UP;
|
if(ev.jhat.value == SDL_HAT_UP) sym = SDLK_UP;
|
||||||
if(ev.jhat.value == SDL_HAT_DOWN) sym = SDLK_DOWN;
|
if(ev.jhat.value == SDL_HAT_DOWN) sym = SDLK_DOWN;
|
||||||
if(ev.jhat.value == SDL_HAT_LEFT) sym = SDLK_LEFT;
|
if(ev.jhat.value == SDL_HAT_LEFT) sym = SDLK_LEFT;
|
||||||
if(ev.jhat.value == SDL_HAT_RIGHT) sym = SDLK_RIGHT;
|
if(ev.jhat.value == SDL_HAT_RIGHT) sym = SDLK_RIGHT;
|
||||||
}
|
}
|
||||||
|
|
||||||
else if(ev.type == SDL_EVENT_JOYSTICK_BUTTON_DOWN && normal && DEFAULTCONTROL) {
|
else if(ev.type == SDL_EVENT_JOYSTICK_BUTTON_DOWN && normal && DEFAULTCONTROL && defaultjoy) {
|
||||||
flashMessages();
|
flashMessages();
|
||||||
movepcto(joydir);
|
movepcto(joydir);
|
||||||
joy_ignore_next = true;
|
joy_ignore_next = true;
|
||||||
|
joytime = -1;
|
||||||
checkjoy();
|
checkjoy();
|
||||||
}
|
}
|
||||||
|
|
||||||
else if(ev.type == SDL_EVENT_JOYSTICK_BUTTON_DOWN && !normal) {
|
else if(ev.type == SDL_EVENT_JOYSTICK_BUTTON_DOWN && !normal && defaultjoy) {
|
||||||
sym = uni = SDLK_RETURN;
|
sym = uni = SDLK_RETURN;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user