#ifdef __APPLE__
-uint Keyboard::PrimaryModifier = (GDK_MOD2_MASK|GDK_META_MASK); // Command
+guint Keyboard::PrimaryModifier = GDK_MOD2_MASK; // Command
guint Keyboard::SecondaryModifier = GDK_CONTROL_MASK; // Control
guint Keyboard::TertiaryModifier = GDK_SHIFT_MASK; // Shift
guint Keyboard::Level4Modifier = GDK_MOD1_MASK; // Alt/Option
guint Keyboard::PrimaryModifier = GDK_CONTROL_MASK; // Control
guint Keyboard::SecondaryModifier = GDK_MOD1_MASK; // Alt/Option
guint Keyboard::TertiaryModifier = GDK_SHIFT_MASK; // Shift
-guint Keyboard::Level4Modifier = GDK_MOD4_MASK; // Mod4/Windows
+guint Keyboard::Level4Modifier = GDK_MOD4_MASK|GDK_SUPER_MASK; // Mod4/Windows
guint Keyboard::CopyModifier = GDK_CONTROL_MASK;
guint Keyboard::RangeSelectModifier = GDK_SHIFT_MASK;
guint Keyboard::button2_modifiers = 0; /* not used */
Keyboard::get_state (void)
{
XMLNode* node = new XMLNode ("Keyboard");
- char buf[32];
-
- snprintf (buf, sizeof (buf), "%d", CopyModifier);
- node->add_property ("copy-modifier", buf);
- snprintf (buf, sizeof (buf), "%d", edit_but);
- node->add_property ("edit-button", buf);
- snprintf (buf, sizeof (buf), "%d", edit_mod);
- node->add_property ("edit-modifier", buf);
- snprintf (buf, sizeof (buf), "%d", delete_but);
- node->add_property ("delete-button", buf);
- snprintf (buf, sizeof (buf), "%d", delete_mod);
- node->add_property ("delete-modifier", buf);
- snprintf (buf, sizeof (buf), "%d", snap_mod);
- node->add_property ("snap-modifier", buf);
- snprintf (buf, sizeof (buf), "%d", snap_delta_mod);
- node->add_property ("snap-delta-modifier", buf);
- snprintf (buf, sizeof (buf), "%d", insert_note_but);
- node->add_property ("insert-note-button", buf);
- snprintf (buf, sizeof (buf), "%d", insert_note_mod);
- node->add_property ("insert-note-modifier", buf);
+
+ node->set_property ("copy-modifier", CopyModifier);
+ node->set_property ("edit-button", edit_but);
+ node->set_property ("edit-modifier", edit_mod);
+ node->set_property ("delete-button", delete_but);
+ node->set_property ("delete-modifier", delete_mod);
+ node->set_property ("snap-modifier", snap_mod);
+ node->set_property ("snap-delta-modifier", snap_delta_mod);
+ node->set_property ("insert-note-button", insert_note_but);
+ node->set_property ("insert-note-modifier", insert_note_mod);
return *node;
}
int
Keyboard::set_state (const XMLNode& node, int /*version*/)
{
- XMLProperty const * prop;
-
- if ((prop = node.property ("copy-modifier")) != 0) {
- sscanf (prop->value().c_str(), "%d", &CopyModifier);
- }
-
- if ((prop = node.property ("edit-button")) != 0) {
- sscanf (prop->value().c_str(), "%d", &edit_but);
- }
-
- if ((prop = node.property ("edit-modifier")) != 0) {
- sscanf (prop->value().c_str(), "%d", &edit_mod);
- }
-
- if ((prop = node.property ("delete-button")) != 0) {
- sscanf (prop->value().c_str(), "%d", &delete_but);
- }
-
- if ((prop = node.property ("delete-modifier")) != 0) {
- sscanf (prop->value().c_str(), "%d", &delete_mod);
- }
-
- if ((prop = node.property ("snap-modifier")) != 0) {
- sscanf (prop->value().c_str(), "%d", &snap_mod);
- }
-
- if ((prop = node.property ("snap-delta-modifier")) != 0) {
- sscanf (prop->value().c_str(), "%d", &snap_delta_mod);
- }
-
- if ((prop = node.property ("insert-note-button")) != 0) {
- sscanf (prop->value().c_str(), "%d", &insert_note_but);
- }
-
- if ((prop = node.property ("insert-note-modifier")) != 0) {
- sscanf (prop->value().c_str(), "%d", &insert_note_mod);
- }
+ node.get_property ("copy-modifier", CopyModifier);
+ node.get_property ("edit-button", edit_but);
+ node.get_property ("edit-modifier", edit_mod);
+ node.get_property ("delete-button", delete_but);
+ node.get_property ("delete-modifier", delete_mod);
+ node.get_property ("snap-modifier", snap_mod);
+ node.get_property ("snap-delta-modifier", snap_delta_mod);
+ node.get_property ("insert-note-button", insert_note_but);
+ node.get_property ("insert-note-modifier", insert_note_mod);
return 0;
}
for (list<Bindings*>::const_iterator b = Bindings::bindings.begin(); b != Bindings::bindings.end(); ++b) {
bnode = new XMLNode (X_("Bindings"));
- bnode->add_property (X_("name"), (*b)->name());
+ bnode->set_property (X_("name"), (*b)->name());
(*b)->save (*bnode);
node->add_child_nocopy (*bnode);
}
{
PBD::Unwinder<bool> uw (can_save_keybindings, false);
+ Bindings::reset_bindings ();
setup_keybindings ();
Bindings::associate_all ();
}