Policy for " Natural Scrolling"

bmweeks
New Contributor

is there a way to disable "Natural Scrolling" i tried to pull the plist and import into casper and WGM with no affect.

30 REPLIES 30

talkingmoose
Moderator
Moderator

Are you using the following?

Domain: .GlobalPreferences
Key: com.apple.swipescrolldirection
Value: false
Apply Setting To: User Level...

Since this is a user preference and user preferences are their own (not for us to dictate) I suggest applying "User Level At Next Login Only". This sets the default that you think is appropriate but allows the user to change it back if he prefers.

andyinindy
Contributor II

I am also trying to disable this setting. Apparently it can be applied at either the user level (~/Library/Preferences/.GlobalPreferences.plist) or the system level (/Library/Preferences/.GlobalPreferences.plist):

http://themacadmin.com/?p=494

However, I have had no luck getting this setting to stick using MCX settings from the JSS. I set it up using the proper domain, key, and value. I have tried both user and system level.

Is MCX via Casper a reliable means of applying settings? So far it seems to be really wonky. I would gladly use config profiles (my clients are all Lion), if I could customize them to my needs. Sadly, there do not appear to be nearly as many settings that are configurable via profiles. Perhaps I'm missing something... can I use profiles to configure settings such as scrolling direction?

ernstcs
Contributor III

I gave up on the MCX in Lion for now...was running out of time to push out an image. I just created a Fill User Template dmg for the .GlobalPreferences.plist file and that works fine. I'm only using it in a lab, office users can just change their setting once if they don't like it. Trying to keep most things default as the OS ships.

CasperSally
Valued Contributor II

I'm doing it through MCX - exactly what talkingmoose has above, but we do every login.

andyinindy
Contributor II

OK, I must be doing something wrong, because this is not working reliably for me. I tried using a script to issue the 'defaults write' command to /L/P/.GlobalPreferences, and this does not change the setting for any users, local or network-based. I also tried a policy, set to change the setting for users once, at every login, and/or system wide... no luck with any of these. If I issue a 'jamf mcx -username mysuer', I see the setting get pulled down from the server, and the scrolling direction is (sometimes) changed after a logout. However, it seems that:

  1. The com.apple.swipescrolldirection setting in /Library/Preferences/.GlobalPreferences is being ignored
  2. MCX is not being applied at login, either for local or AD accounts

Could this be related to the bug mentioned here:

https://jamfnation.jamfsoftware.com/discussion.html?id=4499

???

CasperSally
Valued Contributor II

If you set it to User Lever at Every Login, does it work? If so, it's probably the bug mentioned in your link.

bentoms
Release Candidate Programs Tester

Double & triple check your caps..

jhbush
Valued Contributor II

Along the same lines as this, has anyone gotten the "tap to click"box checked?
I tried com.apple.mouse.tapBehavior, but with little success.

andyinindy
Contributor II

CasperSally wrote:

If you set it to User Lever at Every Login, does it work?

Nope, that's what I have it set to, and it does not get applied at login.

I am able to apply it using 'jamf mcx -username foo', and it works after a logout/login. So the setting itself is valid (to answer your question, bentoms), it just isn't being applied properly.

Sigh... Managed Client is one of the last uses that I have for our xServe running 10.6.8 server. It is WAAAAYYY past its prime, and due for retirement, but I can't ditch it until I get MCX working via Casper. At this rate, it looks like I'm stuck. Maybe Apple will release an updated xServe today. Ha.

mm2270
Legendary Contributor III
Maybe Apple will release an updated xServe today. Ha.

Yeah, and maybe pigs will fly too! :)
Can you get the settings to apply via a script, as in "defaults write, blah blah?" If so, maybe try setting up a login policy that runs this via the Run Command in the Advanced tab. Its a bit of a kludge admittedly, because it should work via plain ol' MCX, but I have no idea why it wouldn't be.

cbrewer
Valued Contributor II

I got this working, but there is currently a bug in the JSS causing "Next Login Only" to be applied at every login. JAMF is aware of the issue.

CasperSally
Valued Contributor II

JAMF supports MCX. If you haven't already, I'd put a ticket in. This is a setting more than a few of us have working it sounds like (every login at least).

andyinindy
Contributor II

OH. My. God. I win the prize for world's biggest moron.

"Apply User Level Managed Preferences" was not checked in JSS-->Settings-->Computer Management Framework Settings!

MCX is now working. Wow, I'm dumb.

tls2t
New Contributor II

Could you possibly post some screenshots of the key you created in the JSS to get this to work? I made a key, but doesn't seem to work. My other MCX policies do.

casper_ghost
New Contributor
Are you using the following? Domain: .GlobalPreferences Key: com.apple.swipescrolldirection Value: false Apply Setting To: User Level... Since this is a user preference and user preferences are their own (not for us to dictate) I suggest applying "User Level At Next Login Only". This sets the default that you think is appropriate but allows the user to change it back if he prefers.

I've set this up, but I am unclear on what the "Key Type" should be set to: boolean, string, integer, etc?

Thanks

CasperSally
Valued Contributor II

boolean

casper_ghost
New Contributor

@Sally~

Thanks! About the same time you were posting this, I ended up finding the answer too:

To change the scroll behavior for all users (there are no line breaks in this command either)… defaults write /Library/Preferences/.GlobalPreferences com.apple.swipescrolldirection -bool <value>

Turns out, this was in the link that was shared above by Andy. When I saw the "-bool", that clued me in.

But thanks again!

mm2270
Legendary Contributor III

Edit: Never mind, already answered.

casper_ghost
New Contributor

@CasperSally~ or anyone who knows:

By the way, the MCX issue that was referenced above, has that ever been resolved? I'm going to put this Managed Preference into affect, and I was planning to use "User Level At Next Login". Not to mention, we are also moving our users to AD accounts, rather than setting up a local account for them as we had done in the past, so will this also apply to AD users as well? Thanks!

CasperSally
Valued Contributor II

Yes AD users. I'm not sure if the next login issue was addressed - we have it set for now for every login and no one has complained (yet)

agerson
New Contributor III

I was not able to get com.apple.swipescrolldirection = false to stick using a custom configuration profile. Has anyone else?

cbrewer
Valued Contributor II

Anybody get com.apple.swipescrolldirection working in 10.9 yet? My Managed Preference setting that worked fine in 10.7/10.8 doesn't appear to be working. Manually running a defaults write command appears to work from a test machine, but not as part of a login script.

cbrewer
Valued Contributor II

Additionally in 10.9, If I manually run "jamf -mcx -username user" after getting logged in it applies and works correctly.

rcorbin
Contributor II

Anyone figured out how to do this via a configuration profile ?

grecopj
Contributor

Trying to get this to work with JSS 9.32 and 10.9.4 and AD users. Cannot get the setting to stick to disable Natural Scrolling. Is there a fix in site? Thanks

rcorbin
Contributor II

Anyone got this working in Yosemite ? We used to bake this setting into OS Packages, but when using an AutoDMG work flow or thin provisioning it would be nice to be able to set this.

timlings
Contributor

I'm looking for a solution too!

millersc
Valued Contributor

I'm still setting some items in the User Template via first run script. This is one of them and it's working fine on 10.10.3.

rblaas
Contributor II

Hi All,

Anyone figured this out yet?

I have tried lots of things to disable the Natural Scrolling by default but still for every new user the Natural Scrolling is still Enabled..

I want this to work for Yosemite and El Capitan.

Any advice ?

khaito
New Contributor

I discovered this week that a firstboot script I rolled out broke the scroll setting for mouse scroll - kept defaulting back to "natural" direction, wouldn't save the users preference.

This is the script (although I've modified my copy of it):
https://github.com/amsysuk/public_scripts/blob/master/first_boot/10.10_firstBoot.sh

Turned out the permissions on ~/Library/Preferences/.GlobalPreferences.plist was messed up, it had been changed to root:wheel when it should be (for us anyway) username:_appleevents
Might be worth checking.

Otherwise, the following works for the Macs I look after (running 10.10.5):
Tested using a script that runs as currently logged on user to disable 'natural' scrolling

#!/bin/sh
user=$(stat -f %Su /dev/console)
sudo su - $user -c "/usr/bin/defaults write NSGlobalDomain com.apple.swipescrolldirection -bool false"

Can be confirmed that it's changed using :

defaults read NSGlobalDomain

and

ls -lhatr /Users/username/Library/Preferences/.GlobalPreferences

This will list the contents of /Users/username/Library/Preferences/ in reverse order chronologically including hidden files so you can see the most recently modified files in the bottom of the list - .GlobalPreferences should be one of the most recently edited files.
You can use this to also see what plist files are being modified when you make changes via the system prefs gui.

For applying to a user template, believe this should work:

defaults write "/System/Library/User Template/English.lproj/Library/Preferences/.GlobalPreferences.plist" com.apple.swipescrolldirection -bool false