View Issue Details

IDProjectCategoryView StatusLast Update
0002770ardourbugspublic2020-04-19 20:14
Reporterrobsch Assigned Topaul  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version2.8.1 
Summary0002770: Shortcut editor does not work properly with numlock activated
DescriptionIf numlock is activated, the shortcut editor identifies any pressed key as <Mod2>theKey, i.e. pressing "a" will show up as "<Mod2>a"

The newly created shortcut does not work anyway, independent of the numlock status.

Workaround: Deactivate numlock before defining shortcuts.
Additional Informationardour 2.8.1 (built from revision 5338)
uname -a: Linux jupiter 2.6.27-gentoo-r8 0000016 SMP PREEMPT Fri Jun 12 15:25:50 CEST 2009 x86_64 Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz GenuineIntel GNU/Linux
TagsNo tags attached.

Activities

robsch

2009-08-13 06:51

reporter   ~0006509

Patch attached. This fixes this problem and probably a problem related to visual state saving/restoring (restoring did not work with numlock activated).

2009-08-13 06:51

 

visual_state2.patch (2,042 bytes)   
Index: gtk2_ardour/editor_ops.cc
===================================================================
--- gtk2_ardour/editor_ops.cc	(Revision 5516)
+++ gtk2_ardour/editor_ops.cc	(Arbeitskopie)
@@ -6243,10 +6243,8 @@
 void
 Editor::start_visual_state_op (uint32_t n)
 {
-	cerr << "Start visual op\n";
 	if (visual_state_op_connection.empty()) {
 		visual_state_op_connection = Glib::signal_timeout().connect (bind (mem_fun (*this, &Editor::end_visual_state_op), n), 1000);
-		cerr << "\tqueued new timeout\n";
 	}
 }
 
@@ -6254,11 +6252,13 @@
 Editor::cancel_visual_state_op (uint32_t n)
 {
 	if (!visual_state_op_connection.empty()) {
-		cerr << "cancel visual op, time to goto\n";
 		visual_state_op_connection.disconnect();
 		goto_visual_state (n);
 	} else {
-		cerr << "cancel visual op, do nothing\n";
+		//we land here if called from the menu OR if end_visual_state_op has been called
+		//so check if we are already in visual state n
+		// XXX not yet checking it at all, but redoing does not hurt
+		goto_visual_state (n);
 	}
 }
 
Index: gtk2_ardour/keyboard.cc
===================================================================
--- gtk2_ardour/keyboard.cc	(Revision 5516)
+++ gtk2_ardour/keyboard.cc	(Arbeitskopie)
@@ -233,7 +233,7 @@
 
 				const AccelKey& ak (k->first);
 				
-				if (keyval == ak.get_key() && (Gdk::ModifierType)(event->state | Gdk::RELEASE_MASK) == ak.get_mod()) {
+				if (keyval == ak.get_key() && (Gdk::ModifierType)(event->state & Keyboard::RelevantModifierKeyMask | Gdk::RELEASE_MASK) == ak.get_mod()) {
 					ret = true;
 					break;
 				}
@@ -254,7 +254,7 @@
 			const AccelKey& ak (k->first);
 			two_strings ts (k->second);
 
-			if (keyval == ak.get_key() && (Gdk::ModifierType)(event->state | Gdk::RELEASE_MASK) == ak.get_mod()) {
+			if (keyval == ak.get_key() &&  (event->state & Keyboard::RelevantModifierKeyMask | Gdk::RELEASE_MASK) == ak.get_mod()) {
 				Glib::RefPtr<Gtk::Action> act = ActionManager::get_action (ts.first.c_str(), ts.second.c_str());
 				if (act) {
 					act->activate();
visual_state2.patch (2,042 bytes)   

seablade

2009-08-13 07:16

manager   ~0006510

Assigned to Paul to take a look at the patch.

nettings

2009-08-13 16:22

manager   ~0006511

robsch's patch fixes view recall for me (using r5499). thanks!

paul

2009-10-01 20:48

administrator   ~0006676

all aspects of this patch are now applied in 2.0-ongoing

system

2020-04-19 20:14

developer   ~0021948

Issue has been closed automatically, by Trigger Close Plugin.
Feel free to re-open with additional information if you think the issue is not resolved.

Issue History

Date Modified Username Field Change
2009-07-08 16:01 robsch New Issue
2009-07-08 16:31 seablade Status new => acknowledged
2009-08-13 06:51 robsch Note Added: 0006509
2009-08-13 06:51 robsch File Added: visual_state2.patch
2009-08-13 07:15 seablade Status acknowledged => assigned
2009-08-13 07:15 seablade Assigned To => paul
2009-08-13 07:16 seablade Note Added: 0006510
2009-08-13 16:22 nettings Note Added: 0006511
2009-10-01 20:48 paul cost => 0.00
2009-10-01 20:48 paul Note Added: 0006676
2009-10-01 20:48 paul Status assigned => resolved
2009-10-01 20:48 paul Resolution open => fixed
2010-04-24 10:28 cth103 Category bugs => bugs2
2010-04-24 10:31 cth103 Category bugs2 => bugs
2020-04-19 20:14 system Note Added: 0021948
2020-04-19 20:14 system Status resolved => closed