Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStijn Buys <ingar@osirion.org>2016-07-31 14:14:25 +0200
committerStijn Buys <ingar@osirion.org>2016-07-31 14:14:25 +0200
commit6817dec0b405b325a2762e352ad2a5916c24542a (patch)
treea61a1b756c4ffa18c2a8c9ce874a9ae4cdf591e0 /src/client/control.cc
parentb9205ba21a5663d1aa57b1b1213bea5ecbf1c073 (diff)
Added reset_controls function to revert to the default keyboard configuration,
don't override unbound keys with default binds.
Diffstat (limited to 'src/client/control.cc')
-rw-r--r--src/client/control.cc15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/client/control.cc b/src/client/control.cc
index ab8c99f..0393333 100644
--- a/src/client/control.cc
+++ b/src/client/control.cc
@@ -5,15 +5,26 @@
*/
#include "client/control.h"
+#include <cassert>
namespace client
{
Control::Control(const char *name, const char *command, const char *keyname)
{
+ assert(name);
_name.assign(name);
- _command.assign(command);
- _keyname.assign(keyname);
+
+ if (command)
+ {
+ _command.assign(command);
+ }
+
+ if (keyname)
+ {
+ _keyname.assign(keyname);
+ _defaultkeyname.assign(keyname);
+ }
}
Control::~Control()