mirror of
https://github.com/ClassiCube/ClassiCube.git
synced 2025-09-17 11:35:08 -04:00
Cmd+Q should close client on osx, closes #169. (Thanks AndrewPH)
This commit is contained in:
parent
93c35029a3
commit
08ae814bb2
@ -288,11 +288,12 @@ namespace ClassicalSharp {
|
||||
}
|
||||
|
||||
static int[] viewDistances = { 16, 32, 64, 128, 256, 512, 1024, 2048, 4096 };
|
||||
Key lastKey;
|
||||
void KeyDownHandler( object sender, KeyboardKeyEventArgs e ) {
|
||||
Key key = e.Key;
|
||||
if( SimulateMouse( key, true ) ) return;
|
||||
|
||||
if( key == Key.F4 && (game.IsKeyDown( Key.AltLeft ) || game.IsKeyDown( Key.AltRight )) ) {
|
||||
if( IsShutdown( key ) ) {
|
||||
game.Exit();
|
||||
} else if( key == Keys[KeyBinding.Screenshot] ) {
|
||||
game.screenshotRequested = true;
|
||||
@ -300,6 +301,15 @@ namespace ClassicalSharp {
|
||||
if( !HandleBuiltinKey( key ) && !game.LocalPlayer.HandleKeyDown( key ) )
|
||||
HandleHotkey( key );
|
||||
}
|
||||
lastKey = key;
|
||||
}
|
||||
|
||||
bool IsShutdown( Key key ) {
|
||||
if( key == Key.F4 && (lastKey == Key.AltLeft || lastKey == Key.AltRight) )
|
||||
return true;
|
||||
// On OSX, Cmd+Q should also terminate the process.
|
||||
if( !OpenTK.Configuration.RunningOnMacOS ) return false;
|
||||
return key == Key.Q && (lastKey == Key.WinLeft || lastKey == Key.WinRight);
|
||||
}
|
||||
|
||||
void HandleHotkey( Key key ) {
|
||||
|
@ -40,9 +40,8 @@ namespace ClassicalSharp {
|
||||
/// <summary> Returns the next highest power of 2 that is ≥ to the given value. </summary>
|
||||
public static int NextPowerOf2( int value ) {
|
||||
int next = 1;
|
||||
while( value > next ) {
|
||||
while( value > next )
|
||||
next <<= 1;
|
||||
}
|
||||
return next;
|
||||
}
|
||||
|
||||
@ -53,10 +52,7 @@ namespace ClassicalSharp {
|
||||
|
||||
/// <summary> Returns a string with all the colour codes stripped from it. </summary>
|
||||
public static string StripColours( string value ) {
|
||||
if( value.IndexOf( '&' ) == -1 ) {
|
||||
return value;
|
||||
}
|
||||
|
||||
if( value.IndexOf( '&' ) == -1 ) return value;
|
||||
char[] output = new char[value.Length];
|
||||
int usedChars = 0;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user