24

My son installed the California educational testing app CAASPP over six months ago to take a state required test. The only thing is it disabled Hot Corners on macOS v10.15 (Catalina) and we've not been able to get them to work again after all this time. How do we get them to work again?

We don't know how the CAASPP app disabled them, whether it was with terminal commands or AppleScript.

From page 65 of this CAASPP document about the app, we think the app disabled them using the following Terminal commands (how does it do that from the app?):

defaults write com.apple.symbolichotkeys AppleSymbolicHotKeys - dict-add 79 "{enabled = 0; value = {parameters = (65535,123, 262144); type = standard; }; }"
defaults write com.apple.symbolichotkeys AppleSymbolicHotKeys - dict-add 80 "{enabled = 0; value = { parameters = (65535, 123, 393216); type = 'standard'; }; }"
defaults write com.apple.symbolichotkeys AppleSymbolicHotKeys - dict-add 81 "{enabled = 0; value = { parameters = (65535, 124, 262144); type = 'standard'; }; }"
defaults write com.apple.symbolichotkeys AppleSymbolicHotKeys - dict-add 82 "{enabled = 0; value = { parameters = (65535, 124, 393216); type = 'standard'; }; }"

And that should be able to be reversed just by changing enabled to 1. However, when we try that we get the following error:

Unexpected argument dict-add;` And it leaves it unchanged.

How can we resolve this on Catalina?

I think the Mac OS is actually ignoring the plist file ~/Library/Preferences/com.apple.symbolichotkeys now, or there's another setting somewhere... This plist altered by CAASPP looks like this.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>AppleSymbolicHotKeys</key>
    <string>-</string>
</dict>
</plist>

We changed the plist to the below (copy and pasted the same file from another catalina mac), we restarted, reset the hotkeys, but it's still not working. What should we try next?

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>AppleSymbolicHotKeys</key>
    <dict>
        <key>79</key>
        <dict>
            <key>enabled</key>
            <true/>
        </dict>
        <key>80</key>
        <dict>
            <key>enabled</key>
            <true/>
        </dict>
        <key>81</key>
        <dict>
            <key>enabled</key>
            <true/>
        </dict>
        <key>82</key>
        <dict>
            <key>enabled</key>
            <true/>
        </dict>
    </dict>
</dict>
</plist>

Basically, the system doesn’t respond to the changes in the plist file. How do we get the system to take notice of it again?

Peter Mortensen
  • 12,090
  • 23
  • 70
  • 90
Agent Zebra
  • 343
  • 2
  • 9
  • 4
    Note for the future: always install such software into a virtual machine to avoid them taking control over your system – JonathanReez Aug 14 '21 at 23:57
  • 10
    @JonathanReez I can't speak for this California app, but standardized testing software tools typically try to detect VMs as part of their anti-cheating mechanisms. An honest student running a testing program in an VM will only end up looking like a cheater. – James Mishra Aug 15 '21 at 00:51
  • 3
    @James I doubt a random government piece of software can detect a properly configured virtual machine. Proper anti cheating mechanisms use two or three webcams, not malware on your machine. – JonathanReez Aug 15 '21 at 03:41
  • 16
    Unless your virtual machine is *intended* to be stealthy, chances are it will be detected quite easily. There's a dedicated bit in the result of CPUID that indicates whether a hypervisor is present. Regardless, it's an invasion of privacy either way - students can and do object to anti-cheating mechanisms using webcams to collect video that may show roommates, personal space, etc. – nanofarad Aug 15 '21 at 04:47
  • 8
    This only demonstrates how dumb the test administrators are. Any actual cheater would simply use another device (say a phone) to cheat, while taking the test on the computer with the *so-called anti-cheating* software. Cheating can and should be stopped via other *actually effective* methods. – user21820 Aug 16 '21 at 05:21
  • 2
    @JamesMishra: Any institution requiring these looks like it doesn't care about its students. They don't work at all anymore because of smartphones and they cause problems and the software providers will not support undoing the damage these things cause. – Joshua Aug 16 '21 at 19:53
  • In addition to the (quite valid!) complaints about intrusiveness and invasion of privacy, which really ought to get this software treated as malware, it's worth considering that the concept of "academic cheating" by relying upon external knowledge is [absurdly obsolete in the modern world.](https://www.linkedin.com/pulse/what-does-cheating-mean-when-you-know-everything-mason-wheeler/) They're trying to stop behavior that isn't a legitimate problem, and in fact is honestly a valuable, even *vital* skill to possess and be proficient in! – Mason Wheeler Aug 16 '21 at 22:18
  • @user21820 since they're not as dumb as you think they are, they've already thought of that, and (typically) require camera access to monitor your eyes. (Note that I'm not judging it's effectiveness, just that they've thought of it.) – RonJohn Aug 17 '21 at 00:29
  • 2
    @Joshua Emphatic +1. As a TA in Spring 2020, making my students use this crap was unthinkable. For the folks that followed me in the same position, also unthinkable. It's not that hard to either write a question that requires actual open-ended thought or adjust one's grading to make the exam work, and I only really saw the lazier profs pushing for this kind of software while attempting to ask easily-searchable questions. – nanofarad Aug 17 '21 at 02:42
  • 2
    @RonJohn: Oh wow. So the poor innocent students cannot do scratchwork on paper because it might look like they are looking at a phone next to their computer, while the cheater who props the phone up right in front of the screen gets away with it. The more you tell me about them, the dumber they look. – user21820 Aug 17 '21 at 02:43
  • @MasonWheeler: Not when they dump their exam question onto SE and write "PLZ HALP URGENT" and then some cheater-supporter gives a full solution. This is not a fantasy; it has happened many times. – user21820 Aug 17 '21 at 02:45
  • 1
    UGHHH CAASP. This software invaded my privacy (which shouldn't be allowed, it's my computer and I can do what I want to do with it, within reason of course). I honestly wish they skipped the CAASP exams. Standardized exams suck anyways, and not doing it for a year won't kill anyone. (Not related to your question, sorry about that). – 10 Rep Aug 17 '21 at 03:51
  • @user21820 you think I'm defending them and the efficacy of their schemes. – RonJohn Aug 17 '21 at 13:46
  • This is the real reason why governments are planning to force Apple to allow alternatives to the App Store: So that this kind of malware can be developed for iOS/iPadOS too. – jobukkit Aug 17 '21 at 14:50
  • @RonJohn: Why do you assume what I think? I didn't assume what you think, but merely pointing out to other people that "they've thought of it" doesn't imply "they're not as dumb as you think they are". – user21820 Aug 19 '21 at 14:43

3 Answers3

29

dict-add is fine in Catalina, but you've got a typo. - dict-add should be -dict-add.

You're running defaults write domain key - dict-add …, which is writing - to the key for the domain. That's why the plist has <string>-</string> as the key's value after running that command.

Instead, you should use the -dict-add option which is described in the usage as:

-dict-add <key1> <value1>

grg
  • 2,242
  • 1
  • 19
  • 26
  • 1
    I know I've answered very late, but you almost had it with what you were trying originally! – grg Aug 15 '21 at 13:09
  • Hey great find, that's in the actual CAASPP documentation, lol on them. I'll retry with this. But I did try just replacing the symbolichotkeys.plist with a working symbolichotkeys.plist from another computer same OS, and we were not able to get it working, which is strange. – Agent Zebra Aug 17 '21 at 19:33
16

I'm not sure whether the dict-add command has been deprecated since Mojave - it works on that & I don't have Catalina to test.

You could just do it the 'heavy-handed' way, manually.

Go to ~/Library/Preferences/com.apple.symbolichotkeys & open it in BBEdit [freeware version is sufficient.] TextEdit will not be able to make any sense of it.

Find >79< & just below that, change the false to true.
Repeat for the other keys.

enter image description here

Save, then reboot.

Tetsujin
  • 47,296
  • 8
  • 108
  • 135
0

We finally resolved this. The CAASSP software had disabled Mission Control, so any fixes to the plist file ~/Library/Preferences/com.apple.symbolichotkeys were not working as I'm assuming that file was being ignored as it's read by Mission Control? Anyway, it was not working.

However, with a combination of @Tetsujin's fix above, and also enabling Mission Control, we now have Hot Corners working again.

Here's a stack exchange link on how to enable Mission Control. https://apple.stackexchange.com/questions/170488/osx-yosemite-mission-control-stopped-working

Yay Hot Corners!

Agent Zebra
  • 343
  • 2
  • 9