@@ -49,6 +49,7 @@ public class NooActivity extends AppCompatActivity
49
49
private NooRenderer renderer ;
50
50
private NooButton buttons [];
51
51
private TextView fpsCounter ;
52
+ private int fpsLimiterBackup = 0 ;
52
53
private boolean initButtons = true ;
53
54
private boolean showingButtons = true ;
54
55
private boolean showingFps ;
@@ -114,6 +115,13 @@ protected void onPause()
114
115
{
115
116
pauseCore ();
116
117
super .onPause ();
118
+
119
+ // Restore the FPS limiter
120
+ if (fpsLimiterBackup != 0 )
121
+ {
122
+ SettingsMenu .setFpsLimiter (fpsLimiterBackup );
123
+ fpsLimiterBackup = 0 ;
124
+ }
117
125
}
118
126
119
127
@ Override
@@ -316,6 +324,39 @@ public boolean onKeyDown(int keyCode, KeyEvent event)
316
324
}
317
325
}
318
326
327
+ // Handle pressing special hotkeys
328
+ if (keyCode == BindingsPreference .getKeyBind (12 ) - 1 ) // Fast Forward Hold
329
+ {
330
+ // Disable the FPS limiter
331
+ if (SettingsMenu .getFpsLimiter () != 0 )
332
+ {
333
+ fpsLimiterBackup = SettingsMenu .getFpsLimiter ();
334
+ SettingsMenu .setFpsLimiter (0 );
335
+ }
336
+ return true ;
337
+ }
338
+ else if (keyCode == BindingsPreference .getKeyBind (13 ) - 1 ) // Fast Forward Toggle
339
+ {
340
+ // Toggle between disabling and restoring the FPS limiter
341
+ if (SettingsMenu .getFpsLimiter () != 0 )
342
+ {
343
+ fpsLimiterBackup = SettingsMenu .getFpsLimiter ();
344
+ SettingsMenu .setFpsLimiter (0 );
345
+ }
346
+ else if (fpsLimiterBackup != 0 )
347
+ {
348
+ SettingsMenu .setFpsLimiter (fpsLimiterBackup );
349
+ fpsLimiterBackup = 0 ;
350
+ }
351
+ return true ;
352
+ }
353
+ else if (keyCode == BindingsPreference .getKeyBind (14 ) - 1 ) // Screen Swap Toggle
354
+ {
355
+ // Toggle between favoring the top or bottom screen
356
+ SettingsMenu .setScreenSizing ((SettingsMenu .getScreenSizing () == 1 ) ? 2 : 1 );
357
+ renderer .updateLayout (renderer .width , renderer .height );
358
+ return true ;
359
+ }
319
360
return super .onKeyDown (keyCode , event );
320
361
}
321
362
@@ -332,6 +373,17 @@ public boolean onKeyUp(int keyCode, KeyEvent event)
332
373
}
333
374
}
334
375
376
+ // Handle releasing special hotkeys
377
+ if (keyCode == BindingsPreference .getKeyBind (12 ) - 1 ) // Fast Forward Hold
378
+ {
379
+ // Restore the FPS limiter
380
+ if (fpsLimiterBackup != 0 )
381
+ {
382
+ SettingsMenu .setFpsLimiter (fpsLimiterBackup );
383
+ fpsLimiterBackup = 0 ;
384
+ }
385
+ return true ;
386
+ }
335
387
return super .onKeyUp (keyCode , event );
336
388
}
337
389
0 commit comments