mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-11-16 21:57:15 +00:00
defaultjoy option
This commit is contained in:
@@ -1027,6 +1027,8 @@ EX int lang() {
|
||||
|
||||
EX bool autojoy = false;
|
||||
|
||||
EX bool defaultjoy = true;
|
||||
|
||||
EX void paramset(charstyle& cs, string s) {
|
||||
param_i(cs.charid, s + ".charid");
|
||||
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_b(autojoy, "autojoy")
|
||||
-> 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
|
||||
|
||||
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: panning speed"), fts(vid.joypanspeed * 1000), 'd');
|
||||
dialog::addSelItem(XLAT("smoothen"), its(vid.joysmooth) + " ms", 'e');
|
||||
add_edit(defaultjoy);
|
||||
|
||||
dialog::addBreak(50);
|
||||
dialog::addBack();
|
||||
|
||||
@@ -1178,21 +1178,22 @@ EX void handle_event(SDL_Event& 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_DOWN) sym = SDLK_DOWN;
|
||||
if(ev.jhat.value == SDL_HAT_LEFT) sym = SDLK_LEFT;
|
||||
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();
|
||||
movepcto(joydir);
|
||||
joy_ignore_next = true;
|
||||
joytime = -1;
|
||||
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;
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user