Hotkeys for changing spaces dead in Mavericks

I just upgraded to Mavericks and from TotalSpaces to TotalSpaces 2 and am using TotalSpaces 2.

If I use Mission Control to define Command- for moving to the space to the left or right, I can move from one space to the next. But if I delete those definitions and specify “Arrow keys with” and then pick the Command key, I cannot use the arrows to move at all. I can’t move to the space to the left or right or up or down. I’ve tried using the arrow key with Control, Alt, and Command, and none of them work. TotalSpaces 2 is simply not responding to any hotkeys to move from one space to the next when I define that key in the TotalSpaces 2 Preferences.

Also, along that note (and I can file a separate report for this), when I click on a title bar for a window and try to drag it left or right to another space, that works, but I cannot drag it up or down to another space.

Dead hotkeys - I don’t know why this is. We have a tiny number of users (3 now I think) that have had a problem with getting the hotkeys to work.

Does the overview grid hotkey work?

Secondly, supporting dragging the windows up and down hasn’t been possible yet in Mavericks.

Yes, the overview key does work.

I’m using a three-finger swipe for moving up/down and left/right and that works.

In the past I used DoubleCommand, which no longer works, to help define keyboard functions. I also had Better Touch Tool for defining mouse actions, but I am not using either one now. I’ll see if I can find any other keyboard macro or key defining program that could be getting in the way.

Let me know if you find anything. If nothing turns up I have a test build of TotalSpaces2 that I can give you that should help us track it down.

I’m almost always up for a beta test.

Right now I’m dealing with terrible neck pain and need to go prop my head up and go comatose and spend the rest of the day watching bad TV shows, but once I’m not in pain, I’ll look for whatever I can find.

Good luck with the neck, I hope it improves.

Here is a build of TotalSpaces2 that produces additional logging information about registering the hotkeys.

I wonder if you could install it, and paste me the output from Console.app. That may help me track the issue down,

http://downloads.binaryage.com/TotalSpaces2-2.0.3.zip

I’ll try that as soon as I can - I’m hoping tomorrow!

Here’s the console output. I have a 3x3 grid and was up in the middle space in the 1st row, then used three finger swipes to go down one, then back up, then right, then back left. Then I tried to do the same with the keyboard and there was no indication keypresses were registering.

I can give you a list from Activity Monitor or output from “ps -aux” if that will help, but it seems anything like DoubleCommand or the mouse preferences programs that translate mouse commands are not running. I’ll admit I could have added something I’ve forgotten about, though. Let me know what you need. I’ll be glad to help you with this. Since TotalSpaces2 isn’t getting the keystrokes (or that’s what I assume from the log), then maybe finding out what’s intercepting them could help the other users with this issue.

10/27/13 5:50:22.712 PM TotalSpaces2[28343]: [AppDelegate+Movement.m:188 go:withWindow:] go 3
10/27/13 5:50:22.714 PM TotalSpaces2[28343]: [AppDelegate+Movement.m:236 queuedGo:withWindow:] from 2 to 5 withWindow 0
10/27/13 5:50:22.724 PM TotalSpaces2[28343]: [NotificationView.m:264 drawArrow] col 1 row 0
10/27/13 5:50:24.713 PM TotalSpaces2[28343]: [AppDelegate+Movement.m:188 go:withWindow:] go 2
10/27/13 5:50:24.715 PM TotalSpaces2[28343]: [AppDelegate+Movement.m:236 queuedGo:withWindow:] from 5 to 2 withWindow 0
10/27/13 5:50:24.722 PM TotalSpaces2[28343]: [NotificationView.m:264 drawArrow] col 1 row 1
10/27/13 5:50:36.155 PM TotalSpaces2[28343]: [AppDelegate+Movement.m:188 go:withWindow:] go 1
10/27/13 5:50:36.157 PM TotalSpaces2[28343]: [AppDelegate+Movement.m:236 queuedGo:withWindow:] from 2 to 3 withWindow 0
10/27/13 5:50:36.163 PM TotalSpaces2[28343]: [NotificationView.m:264 drawArrow] col 1 row 0
10/27/13 5:50:37.292 PM TotalSpaces2[28343]: [AppDelegate+Movement.m:188 go:withWindow:] go 0
10/27/13 5:50:37.294 PM TotalSpaces2[28343]: [AppDelegate+Movement.m:236 queuedGo:withWindow:] from 3 to 2 withWindow 0
10/27/13 5:50:37.301 PM TotalSpaces2[28343]: [NotificationView.m:264 drawArrow] col 2 row 0
10/27/13 5:51:55.896 PM TotalSpaces2[28343]: got a dock left mouse down event, showingGrid: 0
10/27/13 5:51:56.022 PM TotalSpaces2[28343]: got a dock left mouse up event, showingGrid: 0
10/27/13 5:52:05.853 PM TotalSpaces2[28343]: got a dock left mouse down event, showingGrid: 0
10/27/13 5:52:05.943 PM TotalSpaces2[28343]: got a dock left mouse up event, showingGrid: 0
10/27/13 5:52:07.767 PM TotalSpaces2[28343]: got a dock left mouse down event, showingGrid: 0
10/27/13 5:52:07.868 PM TotalSpaces2[28343]: got a dock left mouse up event, showingGrid: 0

I would need the logging from when you start the app. I get something like this:

2013-10-28 11:08:04.826 TotalSpaces2[27616:303] [MASShortcut+Monitoring.m:28 addGlobalHotkeyMonitorWithShortcut:handler:] Checking shortcut ⌃⇧←
2013-10-28 11:08:04.827 TotalSpaces2[27616:303] Adding common handler
2013-10-28 11:08:04.827 TotalSpaces2[27616:303] Installing hotkey for keycode 123 flags 4608
2013-10-28 11:08:04.827 TotalSpaces2[27616:303] [MASShortcut+Monitoring.m:28 addGlobalHotkeyMonitorWithShortcut:handler:] Checking shortcut ⌃⇧→
2013-10-28 11:08:04.828 TotalSpaces2[27616:303] Installing hotkey for keycode 124 flags 4608
… etc

Thanks

Okay, from the start. I quit it, then got the Console up and restarted it, filtering out for only TotalSpaces2. I’ll be glad to include other programs, if that helps. I did a search and saw it looks for shift-command-arrow and not command arrow, as I specified. I tried it with the shift keys and it works, but it doesn’t seem to be able to accept when I specify only command-arrow. You’re probably ahead of me on this, but is it possible that the shift key is hardcoded into the shortcuts?

10/28/13 1:44:02.271 PM TotalSpaces2[17430]: [AppDelegate.m:521 doMainLaunch] Launching TotalSpacesCrashWatcher from '/Applications/TotalSpaces2.app/Contents/Resources/TotalSpacesCrashWatcher.app’
10/28/13 1:44:02.291 PM TotalSpaces2[17430]:
10/28/13 1:44:02.427 PM TotalSpaces2[17430]: [AppDelegate.m:131 injectIntoDock] path: /Applications/TotalSpaces2.app/Contents/Resources/main.applescript
10/28/13 1:44:03.830 PM TotalSpaces2[17430]: [ReSpaceEventTap.m:371 dockTap] setting dockTap
10/28/13 1:44:03.854 PM TotalSpaces2[17430]: [ReSpaceEventTap.m:392 dockTap] Dock psn was: 0 3068653
10/28/13 1:44:04.766 PM TotalSpaces2[17430]: [ScreenEdges.m:279 setScreens] screen is {{0, 1200}, {1921, -1200}}
10/28/13 1:44:04.768 PM TotalSpaces2[17430]: [ScreenEdges.m:66 endEdge:type:] found edge {{0, 1200}, {1.25, -1200}}
10/28/13 1:44:04.768 PM TotalSpaces2[17430]: [ScreenEdges.m:66 endEdge:type:] found edge {{1921, 1200}, {-1.25, -1200}}
10/28/13 1:44:04.769 PM TotalSpaces2[17430]: [ScreenEdges.m:66 endEdge:type:] found edge {{0, 1200}, {1921, -1.25}}
10/28/13 1:44:04.769 PM TotalSpaces2[17430]: [ScreenEdges.m:66 endEdge:type:] found edge {{0, 0}, {1921, 1.25}}
10/28/13 1:44:04.770 PM TotalSpaces2[17430]: [ScreenEdges.m:191 findCornersForScreenID:rightEdgeX:topEdgeY:leftEdgeX:bottomEdgeY:] found corner {{0, 0}, {4, 4}}
10/28/13 1:44:04.770 PM TotalSpaces2[17430]: [ScreenEdges.m:200 findCornersForScreenID:rightEdgeX:topEdgeY:leftEdgeX:bottomEdgeY:] found corner {{1921, 0}, {-4, 4}}
10/28/13 1:44:04.770 PM TotalSpaces2[17430]: [ScreenEdges.m:209 findCornersForScreenID:rightEdgeX:topEdgeY:leftEdgeX:bottomEdgeY:] found corner {{0, 1200}, {4, -4}}
10/28/13 1:44:04.770 PM TotalSpaces2[17430]: [ScreenEdges.m:218 findCornersForScreenID:rightEdgeX:topEdgeY:leftEdgeX:bottomEdgeY:] found corner {{1921, 1200}, {-4, -4}}
10/28/13 1:44:04.771 PM TotalSpaces2[17430]: [ReSpaceTrackpad.m:593 detection] DEVICE CHANGED: mouse: 1 trackpad: 0
10/28/13 1:44:04.771 PM TotalSpaces2[17430]: [ReSpaceTrackpad.m:148 setFingers:] fingers set to 3
10/28/13 1:44:04.772 PM TotalSpaces2[17430]: [ReSpaceTrackpad.m:462 setPrefs:] calling BSKernelPreferenceChanged to notify trackpad changes (not powering off)
10/28/13 1:44:04.786 PM TotalSpaces2[17430]: [ReSpaceTrackpad.m:165 startTrackpad:] Creating Multitouch devices
10/28/13 1:44:04.830 PM TotalSpaces2[17430]: Mouse added
10/28/13 1:44:04.831 PM TotalSpaces2[17430]: Checking shortcut ⇧⌘←
10/28/13 1:44:04.831 PM TotalSpaces2[17430]: Adding common handler
10/28/13 1:44:04.831 PM TotalSpaces2[17430]: Installing hotkey for keycode 123 flags 768
10/28/13 1:44:04.831 PM TotalSpaces2[17430]: Checking shortcut ⇧⌘→
10/28/13 1:44:04.832 PM TotalSpaces2[17430]: Installing hotkey for keycode 124 flags 768
10/28/13 1:44:04.832 PM TotalSpaces2[17430]: Checking shortcut ⇧⌘↑
10/28/13 1:44:04.832 PM TotalSpaces2[17430]: Installing hotkey for keycode 126 flags 768
10/28/13 1:44:04.832 PM TotalSpaces2[17430]: Checking shortcut ⇧⌘↓
10/28/13 1:44:04.832 PM TotalSpaces2[17430]: Installing hotkey for keycode 125 flags 768
10/28/13 1:44:04.833 PM TotalSpaces2[17430]: Checking shortcut ⌥⇧Space
10/28/13 1:44:04.833 PM TotalSpaces2[17430]: Installing hotkey for keycode 49 flags 2560
10/28/13 1:44:05.849 PM TotalSpaces2[17430]: [ReSpaces.m:116 updateGrids:] new data: {
“96293C70-D302-0CE8-525B-75AB1EA2C600” = (
{
fullscreen = 0;
isCurrent = 0;
name = “Desktop 1”;
userSpace = 1;
uuid = “”;
},
{
fullscreen = 0;
isCurrent = 0;
name = “Desktop 2”;
userSpace = 1;
uuid = “3A3745E9-0E8E-469F-BE0F-B78EFF8859E7”;
},
{
fullscreen = 0;
isCurrent = 1;
name = “Desktop 3”;
userSpace = 1;
uuid = “A1FF9AB2-10D5-427B-9C22-32A12797656D”;
},
{
fullscreen = 0;
isCurrent = 0;
name = “Desktop 4”;
userSpace = 1;
uuid = “5DB2BDC9-2D54-4550-A381-A1C2D6800424”;
},
{
fullscreen = 0;
isCurrent = 0;
name = “Desktop 5”;
userSpace = 1;
uuid = “5BA4B2F2-A59C-4BDD-AAF3-B63A83761A16”;
},
{
fullscreen = 0;
isCurrent = 0;
name = “Desktop 6”;
userSpace = 1;
uuid = “8A410C7A-B20A-4109-B08F-F62139790755”;
},
{
fullscreen = 0;
isCurrent = 0;
name = “Desktop 7”;
userSpace = 1;
uuid = “4056AA50-4EB3-4957-9FF4-689B629CC161”;
},
{
fullscreen = 0;
isCurrent = 0;
name = “Desktop 8”;
userSpace = 1;
uuid = “DE7D3676-9DD8-47CC-A27A-236556E87338”;
},
{
fullscreen = 0;
isCurrent = 0;
name = “Desktop 9”;
userSpace = 1;
uuid = “39FC37BE-D9E1-4F00-9104-4D525D4538A7”;
}
);
settings = {
spacesSpansDisplays = 0;
};
}
10/28/13 1:44:05.850 PM TotalSpaces2[17430]: [ReSpaceGrid.m:190 updateGrid:] definedCols 3, display 96293C70-D302-0CE8-525B-75AB1EA2C600
(
"ReSpace Desktop 1 row: 1 col: 1 uuid: ",
“ReSpace Desktop 2 row: 1 col: 2 uuid: 3A3745E9-0E8E-469F-BE0F-B78EFF8859E7”,
“ReSpace Desktop 3 row: 1 col: 3 uuid: A1FF9AB2-10D5-427B-9C22-32A12797656D”,
“ReSpace Desktop 4 row: 2 col: 1 uuid: 5DB2BDC9-2D54-4550-A381-A1C2D6800424”,
“ReSpace Desktop 5 row: 2 col: 2 uuid: 5BA4B2F2-A59C-4BDD-AAF3-B63A83761A16”,
“ReSpace Desktop 6 row: 2 col: 3 uuid: 8A410C7A-B20A-4109-B08F-F62139790755”,
“ReSpace Desktop 7 row: 3 col: 1 uuid: 4056AA50-4EB3-4957-9FF4-689B629CC161”,
“ReSpace Desktop 8 row: 3 col: 2 uuid: DE7D3676-9DD8-47CC-A27A-236556E87338”,
“ReSpace Desktop 9 row: 3 col: 3 uuid: 39FC37BE-D9E1-4F00-9104-4D525D4538A7”
)
10/28/13 1:44:05.850 PM TotalSpaces2[17430]: [ReSpaces.m:138 updateGrids:] names were changed
10/28/13 1:44:05.856 PM TotalSpaces2[17430]: [ReSpaces.m:116 updateGrids:] new data: {
“96293C70-D302-0CE8-525B-75AB1EA2C600” = (
{
fullscreen = 0;
isCurrent = 0;
name = “Desktop 1”;
userSpace = 1;
uuid = “”;
},
{
fullscreen = 0;
isCurrent = 0;
name = “Desktop 2”;
userSpace = 1;
uuid = “3A3745E9-0E8E-469F-BE0F-B78EFF8859E7”;
},
{
fullscreen = 0;
isCurrent = 1;
name = “Desktop 3”;
userSpace = 1;
uuid = “A1FF9AB2-10D5-427B-9C22-32A12797656D”;
},
{
fullscreen = 0;
isCurrent = 0;
name = “Desktop 4”;
userSpace = 1;
uuid = “5DB2BDC9-2D54-4550-A381-A1C2D6800424”;
},
{
fullscreen = 0;
isCurrent = 0;
name = “Desktop 5”;
userSpace = 1;
uuid = “5BA4B2F2-A59C-4BDD-AAF3-B63A83761A16”;
},
{
fullscreen = 0;
isCurrent = 0;
name = “Desktop 6”;
userSpace = 1;
uuid = “8A410C7A-B20A-4109-B08F-F62139790755”;
},
{
fullscreen = 0;
isCurrent = 0;
name = “Desktop 7”;
userSpace = 1;
uuid = “4056AA50-4EB3-4957-9FF4-689B629CC161”;
},
{
fullscreen = 0;
isCurrent = 0;
name = “Desktop 8”;
userSpace = 1;
uuid = “DE7D3676-9DD8-47CC-A27A-236556E87338”;
},
{
fullscreen = 0;
isCurrent = 0;
name = “Desktop 9”;
userSpace = 1;
uuid = “39FC37BE-D9E1-4F00-9104-4D525D4538A7”;
}
);
settings = {
spacesSpansDisplays = 0;
};
}
10/28/13 1:44:05.857 PM TotalSpaces2[17430]: [ReSpaceGrid.m:190 updateGrid:] definedCols 3, display 96293C70-D302-0CE8-525B-75AB1EA2C600
(
"ReSpace Desktop 1 row: 1 col: 1 uuid: ",
“ReSpace Desktop 2 row: 1 col: 2 uuid: 3A3745E9-0E8E-469F-BE0F-B78EFF8859E7”,
“ReSpace Desktop 3 row: 1 col: 3 uuid: A1FF9AB2-10D5-427B-9C22-32A12797656D”,
“ReSpace Desktop 4 row: 2 col: 1 uuid: 5DB2BDC9-2D54-4550-A381-A1C2D6800424”,
“ReSpace Desktop 5 row: 2 col: 2 uuid: 5BA4B2F2-A59C-4BDD-AAF3-B63A83761A16”,
“ReSpace Desktop 6 row: 2 col: 3 uuid: 8A410C7A-B20A-4109-B08F-F62139790755”,
“ReSpace Desktop 7 row: 3 col: 1 uuid: 4056AA50-4EB3-4957-9FF4-689B629CC161”,
“ReSpace Desktop 8 row: 3 col: 2 uuid: DE7D3676-9DD8-47CC-A27A-236556E87338”,
“ReSpace Desktop 9 row: 3 col: 3 uuid: 39FC37BE-D9E1-4F00-9104-4D525D4538A7”
)
10/28/13 1:44:05.862 PM TotalSpaces2[17430]: [AppDelegate+DockWatch.m:28 dockWatch] DockWatch: psn was: 0 3068653
10/28/13 1:44:05.862 PM TotalSpaces2[17430]: Monitoring Dock 17425
10/28/13 1:44:11.433 PM TotalSpaces2[17430]: [AppDelegate+Movement.m:188 go:withWindow:] go 3
10/28/13 1:44:11.436 PM TotalSpaces2[17430]: [AppDelegate+Movement.m:236 queuedGo:withWindow:] from 3 to 6 withWindow 0
10/28/13 1:44:11.474 PM TotalSpaces2[17430]: [NotificationView.m:264 drawArrow] col 2 row 0
10/28/13 1:44:12.683 PM TotalSpaces2[17430]: [AppDelegate+Movement.m:188 go:withWindow:] go 2
10/28/13 1:44:12.687 PM TotalSpaces2[17430]: [AppDelegate+Movement.m:236 queuedGo:withWindow:] from 6 to 3 withWindow 0
10/28/13 1:44:12.700 PM TotalSpaces2[17430]: [NotificationView.m:264 drawArrow] col 2 row 1
10/28/13 1:44:14.358 PM TotalSpaces2[17430]: [AppDelegate+Movement.m:188 go:withWindow:] go 1
10/28/13 1:44:14.360 PM TotalSpaces2[17430]: [AppDelegate+Movement.m:236 queuedGo:withWindow:] from 3 to 4 withWindow 0
10/28/13 1:44:14.367 PM TotalSpaces2[17430]: [NotificationView.m:264 drawArrow] col 2 row 0
10/28/13 1:44:15.337 PM TotalSpaces2[17430]: [AppDelegate+Movement.m:188 go:withWindow:] go 0
10/28/13 1:44:15.339 PM TotalSpaces2[17430]: [AppDelegate+Movement.m:236 queuedGo:withWindow:] from 4 to 3 withWindow 0
10/28/13 1:44:15.346 PM TotalSpaces2[17430]: [NotificationView.m:264 drawArrow] col 0 row 1
10/28/13 1:44:24.878 PM TotalSpaces2[17430]: got a dock left mouse down event, showingGrid: 0
10/28/13 1:44:25.013 PM TotalSpaces2[17430]: got a dock left mouse up event, showingGrid: 0

Ok, this is good progress - at least the hotkey recorder is doing something right.

Using just cmd is possible, shift should not be wired in in any way. Do you preferences look like this?

Okay, here’s where I goofed. I had tried different settings and kept setting it to command and arrow only and it wouldn’t work.

I feel like an idiot on this. I had set it to not use shift, and had tried using control and alt/option and whenever I tried command-arrow, it kept saying that combination was in use. Even when I go to Keyboard Preferences and make sure command-arrow is not working for left and right, it still tells me that. I may have clicked “Ok” instead of “Use Anyway” and not realized it was changing it back to shift-command.

So I take the blame as an idiot who didn’t re-check the settings before saving it. It’s my bad, it works now, and I have egg on my face!

Is there any way to tell what program is using a key combination when TotalSpaces2 tells me that key is already in use?

Hey, not a problem - the fact that you mis-interpreted what was going on is due to imperfect dialogs in the app rather than any incompetence on your part!

I don’t think we can determine what is exactly using the keys sadly. In fact, even when certain key bindings are disabled - for instance ctrl arrows in Mission Control shortcuts - then the system STILL reports to us (wrongly) that those shortcuts are in use. This is why we added the “Use anyway” button - it turns on non-exclusive use, so we can use the shortcut as well as any other app that uses it.

I am just making some changes to the keyboard shortcuts code, so we’ll look at making the dialogs better.

I was rethinking this while driving home from an errand today and thinking about my actions as I was changing the settings. I picked Command-Arrow, then got the “This is in use,” and clicked, “Ok.” I may have clicked “Ok” out of habit - since we almost always click that to get what we want. Then, after that, I didn’t notice that the setting was changed back to Shift-Command-Arrow.

I don’t know how it’ll help, but I did think of two things that might make a difference:

  1. Change the wording so “Ok” will be the positive option, and use “Cancel” for not using the keys - that will match what most of us do naturally.

  2. Would it be possible to flash the buttons used to pick the modifier keys? If I clicked on “Okay” (or “Cancel”), and, as the choice was automatically reset to the previous choice, the buttons flashed to catch my attention, then I’d be more likely to see that the setting was being reset.

I don’t know how well either will work, but those were just what came to my head about it.