ther0n / unnaturalscrollwheels Goto Github PK
View Code? Open in Web Editor NEWInvert scroll direction for physical scroll wheels while maintaining "Natural" scrolling for trackpads on MacOS
License: GNU General Public License v3.0
Invert scroll direction for physical scroll wheels while maintaining "Natural" scrolling for trackpads on MacOS
License: GNU General Public License v3.0
Expected behavior: Scrolling with a Wacom device should be left unmodified / ignored by UnnaturalScrollWheels.
Actual behavior: UnnaturalScrollWheels intercepts the Scroll/Pan functionallity from the Wacom device and amplifies the scrolling speed.
Description:
I don't perceive my Wacom Intous Pro M a "scroll wheel" and did not expect UnnaturalScrollWheels to cause any problems. However, it seems like the application acts upon the scrolling generated by the Wacom device whilst scrolling using the Wacom pencil with the Scroll/Pan modifier active.
Suggestion:
If possible; add a checkbox to the settings panel by which the user can toggle Wacom interception on or off. This could maybe be extended to allow the user to pick target devices from a list.
Sidenotes:
Thank you for an awesome application!
Disclaimer: This is my first GH issue, sorry if I'm breaking any rules here.
Vertical scroll is not inverted and the app prompts for permission every time I start it or try to access its preferences:
The app already has the permissions it needs:
I can't open the app settings without getting prompted for the Accessibility permissions. Repeatedly opening the app through spotlight and pressing cancel on the permissions prompt takes me to the settings, where inverted scroll is active, but doesn't change anything when cycling on/off
Would it be possible to add a System component, so that UnnaturalScrollWheels shows up in the System Preferences?
When moving the cursor from my Macbook to the iPad using apple's newest universal control feature in 12.3 Beta(21E5196i)
Universal control works as expected with default settings from mac os, however when using "disable mouse acceleration", the cursor moves to the iPad yet is stuck on the edge forever. The cursor appears on the mac screen and iPad screen simultaneously.
Cursor movements are not working, but scroll wheel and clicks are working as expected.
It seems that the transition caused the cursor to be stuck.
All software is on the newest version as of 31/1.
most of the settings do not explain what they do nor does your GitHub readme. For example the disabling of the acceleration seems to make things go faster not slower. it's not really an issue with the program but, an issue on what the program does.
that being said I love the app and idk why Mac hasn't fixed the bug yet nor why the other options are not in default macOS that was in your app
I noticed the disableMouseAccel()
func got some work in 1.2.1
Upon launch, regardless of the preferences (my prefs below) - mouse acceleration is disabled. It looks like the following code needs to be run in refresh()
but instead it's only running in the disableMouseAccelClicked()
IBAction.
if Options.shared.disableMouseAccel {
Options.shared.accel = -1
} else {
Options.shared.accel = Options.shared.origAccel
}
$ defaults read com.theron.UnnaturalScrollWheels
{
AlternateDetectionMethod = 0;
DisableMouseAccel = 0;
DisableScrollAccel = 0;
FirstLaunch = 0;
InvertHorizonalScroll = 0;
InvertHorizontalScroll = 0;
InvertVerticalScroll = 1;
"NSStatusItem Preferred Position Item-0" = 6128;
"NSStatusItem Preferred Position Item-1" = 6058;
OriginalAccel = 45056;
ScrollLines = 3;
ShowMenuBarIcon = 1;
}
When logged into two Users at the same time, the vertical switch toggle gets applied twice.
If logged only in one account where UnnaturalScrollWheels (USW) is running and vertical scrolling ticked, it works as expected. But when logged into another account with running USW with the same setting, the vertical scrolling is reverted twice, thus not working as one would expect.
Monterey 12.1 (21C52)
Just tried installing this for my new M1 machine but it doesn't seem to launch. Any ideas as to why?
Hey,
love UnnaturalScrollWheels. Does exactly what MacOS should have as a native functionality.
Would be great if we can get a Universal build with Apple Silicon support.
Thanks.
Best,
Sebastian
Thank you for the development of this (surprisingly) necessary tool.
I jump between trackpad and mouse frequently, and this tool has -almost- made the transition as smooth as it should always have been.
However, in the software I use about 8 hours a day, I need to zoom in and out using the scroll wheel, in combination with a modifier key. Would it be possible to disable the inversion while holding a key of your picking? In my case it is CMD, but I imagine it might be different in different softwares for other professional users.
I imagine this might be less intrusive to the complexity of the code than disabling it for specific programmes etc, as mentioned in another support/issue ticket? Fingers crossed - this would make this app indispensable from this user, and I imagine many others!
Thanks!
I just updated to Big Sur 11.5.1 and now UnnaturalScrollWheels.app does nothing with I open it.
No GUI appears, the settings don't apply, seems to just crash on run, although no error message displays.
Disabling "Show menu bar icon" leaves a transparent box in the menu bar, see video:
https://user-images.githubusercontent.com/666822/102958247-5744b780-4491-11eb-9a01-1150b6b1b946.mov
Big Sur 11.1;
app v1.1.0
UnnaturalScrollWheels has an option to disable scroll acceleration, where you can set a certain number of lines to scroll per wheel click. This number can only be integers (i.e. 1,2,3,4, etc). Would it be possible to have options in between these? As in, would it be possible to allow something like 2.5 lines to scroll per wheel click?
The app no longer launches after update. I have reinstalled both from dmg and homebrew, verified the Accessibility settings are enabled, have right-clicked opened repeatedly, it appears to open but the taskbar app never appears and my scrollwheel functions as usual (i.e, it's unusable for me!)
Let me know if there's anything I can do to help troubleshoot.
Version: 1.2.2 (189)
Expected:
After Quitting UnnaturalScrollWheels, tracking acceleration will be enabled for mouse input.
Observed:
After Quitting UnnaturalScrollWheels, the tracking acceleration setting in the app preferences persists.
I'm not really sure how this is possible since—based on the description in the readme—the app only works in an active way by intercepting and modifying events. Does the app actually modify any user or system preferences?
Add restore default settings
Doesn't work with bluetooth/lightspeed usb dongle. Since wireless devices are detected as a Keyboard by the Mac.
Only works well with wired mouse. Please help if there is a workaround for this one.
I upgraded to 12.6 (21G115) recently and found no way to get the application to work again.
The application seems to be running as normal, but the functionality is gone.
I tried completely uninstalling (incl. removing the permissions) and installing fresh, but to no avail.
HI there, I've installed the application and completed the setup, but no matter what vertical scrolling isn't being inverted. Thanks for any assistance in fixing this issue
After installing via Homebrew, I can't open it because Apple cannot check it for malicious software.
“UnnaturalScrollWheels” can’t be opened because Apple cannot check it for malicious software.
This software needs to be updated. Contact the developer for more information.
Homebrew Cask downloaded this file today at 2:45 PM from github.com.
Installed the app this morning by downloading the .dmg as Brew didn't work. When running, I got the message:
"UnnuturalScrollWheels.app" can't be opened because Apple cannot check it for malicious software. This software needs to be updated. Contact the developer for more information.
However, there was no "open" button to click.
Hi @ther0n
Not an issue—just a suggestion to check out the GitHub sponsors feature: https://github.com/sponsors
Also, you might have intentionally not enabled the Discussions feature in this repo, but if that's not the case, you might find it useful for this project. Thanks for sharing your thoughts and work on solving common problems with your community!
all of the Mac apps do not act if I press Back button on my mouse. There is also this app which promises to make it work, but havenot tried it.
https://github.com/archagon/sensible-side-buttons
can it be included in your app?
Hey @ther0n - thanks for this project and I had been using it successfully for a year or so on my previous Mac (Intel Mac Mini 2018 / Big Sur 11.5). But, yesterday I got a new M1 Mac and now I can't get it to run anymore. I zipped up a bunch of crash reports (attached below) ... they all look the same: EXC_BAD_ACCESS / KERN_INVALID_ADDRESS at 0x0000000000000008
Tried deleting the prefs plist, rebooting etc. Just can't get it to run 🙁
Sorry I can't be more helpful on debugging.
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000008
Exception Note: EXC_CORPSE_NOTIFY
Termination Signal: Segmentation fault: 11
Termination Reason: Namespace SIGNAL, Code 0xb
Terminating Process: exc handler [2847]
Hi,
My preferred settings are:
Unfortunately every time I plug in a monitor (could be a USB mouse) it reverts them. I presume this is the same issue, just the opposite way around :) So it would be good to persist settings using your tool, but in the opposite.
I have the Logitech Wireless Trackball M570, and unfortunately this app isn't fixing the scroll direction. I'm not sure if the problem is because Logitech already controls mouse settings through its Options/device manager app (and it's so frustrating that this mouse doesn't include the option to reverse scroll inside the Options app). I don't know anything about coding so I don't know how to figure out if the Options app is taking priority over your app or something, but I just wanted to let you know about a potential limitation. (Regardless of this issue your app looks so cool and helpful, thanks so much for making it!!)
Vertical scroll is perfect, can you also make it work for horizontal scrolling? For example here is a website having horizontal scroll, I have MX Anywhere 3, which can scroll horizontaly, but it scrolls by about 5px.
When trying to run after brew install. Running MacOS 11.5.2 on M1 chip. "This software needs to be updated. Contact the developer for more information."
When my mac goes to standby and I wake it up the horizontal inversion stops working. Restarting the app solves this problem.
Hello @ther0n:
There is an integer input option labelled "Number of lines to scroll per wheel click". This doesn't seem to be any of the following kinds of "lines" in my testing:
font-size: 16px; line-height: 1.2
)What is the definition of a "line" for this option? Is is a certain pixel value or does it depend on some kind of context?
I did a search in the source for the term scrollLines
, but didn't find an answer to my question.
I've deleted it from the preference menu, deleted and reinstalled, but still won't launch
The run at login button redirects to a page that doesn't exist (404).
The checkbox for inverted scrolling does not work to invert the scrolling of my magic mouse. It does not work with the alternative detection method either.
IOHIDEventSystemClientCopyProperty seems to be crashing because it is returning nil.
UnnaturalScrollWheels/AppDelegate.swift:128: Fatal error: Unexpectedly found nil while unwrapping an Optional value
2022-08-21 14:22:15.576466+0900 UnnaturalScrollWheels[34073:593636] UnnaturalScrollWheels/AppDelegate.swift:128: Fatal error: Unexpectedly found nil while unwrapping an Optional value
(lldb)
-------------------------------------
Translated Report (Full Report Below)
-------------------------------------
Process: UnnaturalScrollWheels [33775]
Path: /Applications/UnnaturalScrollWheels.app/Contents/MacOS/UnnaturalScrollWheels
Identifier: com.theron.UnnaturalScrollWheels
Version: 1.3.0 (194)
Code Type: ARM-64 (Native)
Parent Process: launchd [1]
User ID: 501
Date/Time: 2022-08-21 14:13:25.1979 +0900
OS Version: macOS 12.5.1 (21G83)
Report Version: 12
Anonymous UUID: 62FD4EB0-FD12-A977-64BA-A779E7EFE606
Sleep/Wake UUID: 8FC3491B-BA3E-405A-BEFB-1DDD80DAD1A3
Time Awake Since Boot: 22000 seconds
Time Since Wake: 6683 seconds
System Integrity Protection: enabled
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x00000001004853b4
Exception Note: EXC_CORPSE_NOTIFY
Termination Reason: Namespace SIGNAL, Code 5 Trace/BPT trap: 5
Terminating Process: exc handler [33775]
Kernel Triage:
VM - pmap_enter failed with resource shortage
VM - pmap_enter failed with resource shortage
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 UnnaturalScrollWheels 0x1004853b4 0x100480000 + 21428
1 UnnaturalScrollWheels 0x100485208 0x100480000 + 21000
2 UnnaturalScrollWheels 0x1004841f0 0x100480000 + 16880
3 UnnaturalScrollWheels 0x100484470 0x100480000 + 17520
4 CoreFoundation 0x1902dd51c __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 28
5 CoreFoundation 0x190381c18 ___CFXRegistrationPost_block_invoke + 52
6 CoreFoundation 0x190381b84 _CFXRegistrationPost + 456
7 CoreFoundation 0x1902ac1c0 _CFXNotificationPost + 732
8 Foundation 0x191171c98 -[NSNotificationCenter postNotificationName:object:userInfo:] + 96
9 AppKit 0x192e5728c -[NSApplication _postDidFinishNotification] + 340
10 AppKit 0x192e56fa4 -[NSApplication _sendFinishLaunchingNotification] + 236
11 AppKit 0x192e549c8 -[NSApplication(NSAppleEventHandling) _handleAEOpenEvent:] + 588
12 AppKit 0x192e545a8 -[NSApplication(NSAppleEventHandling) _handleCoreEvent:withReplyEvent:] + 780
13 Foundation 0x19119e838 -[NSAppleEventManager dispatchRawAppleEvent:withRawReply:handlerRefCon:] + 348
14 Foundation 0x19119e670 _NSAppleEventManagerGenericHandler + 96
15 AE 0x196a8eac4 0x196a83000 + 47812
16 AE 0x196a8e41c 0x196a83000 + 46108
17 AE 0x196a874b4 aeProcessAppleEvent + 488
18 HIToolbox 0x198f3795c AEProcessAppleEvent + 68
19 AppKit 0x192e4e8f4 _DPSNextEvent + 1844
20 AppKit 0x192e4ce14 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1328
21 AppKit 0x192e3efe0 -[NSApplication run] + 596
22 AppKit 0x192e106fc NSApplicationMain + 1132
23 UnnaturalScrollWheels 0x100483c40 0x100480000 + 15424
24 dyld 0x10053908c start + 520
Thread 1:
0 libsystem_pthread.dylib 0x190217078 start_wqthread + 0
Thread 2:
0 libsystem_pthread.dylib 0x190217078 start_wqthread + 0
Thread 3:
0 libsystem_pthread.dylib 0x190217078 start_wqthread + 0
Thread 0 crashed with ARM Thread State (64-bit):
x0: 0x0000000000000000 x1: 0x0000000000000000 x2: 0x0000000000000002 x3: 0x0000000000000044
x4: 0x0000000000000d03 x5: 0x0000000000000000 x6: 0x0000000000000000 x7: 0x000000016f97ba50
x8: 0x0000000000000000 x9: 0xae7486a1f57b00cb x10: 0x00000000000007fb x11: 0x00000000000007fd
x12: 0x0000000000000090 x13: 0x00000000b0aa788f x14: 0x00000000b0ca8000 x15: 0x0000000000000150
x16: 0x0000000080000000 x17: 0x0000000030c00000 x18: 0x0000000000000000 x19: 0x000000013d07d520
x20: 0x0000600000f79b00 x21: 0x0000000000000000 x22: 0x0000000000000008 x23: 0x0000600000130b20
x24: 0x0000000100492000 x25: 0x0000600000f22b50 x26: 0x000000100000000f x27: 0x0000000000001400
x28: 0x0000000000000000 fp: 0x000000016f97d830 lr: 0x7322000100485208
sp: 0x000000016f97d7d0 pc: 0x00000001004853b4 cpsr: 0x60001000
far: 0x000000013d807fb6 esr: 0xf2000001 (Breakpoint) brk 1
Binary Images:
0x100480000 - 0x10048bfff com.theron.UnnaturalScrollWheels (1.3.0) <bde11e29-2b67-3dcf-90ff-bc31e4c9f297> /Applications/UnnaturalScrollWheels.app/Contents/MacOS/UnnaturalScrollWheels
0x190264000 - 0x1907aafff com.apple.CoreFoundation (6.9) <1643f3d9-7049-37e4-b844-c0c0a42bde3b> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
0x191168000 - 0x191559fff com.apple.Foundation (6.9) <59ff845a-05b2-3b64-ae06-6ef1d6aee83e> /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
0x192e0d000 - 0x193cc5fff com.apple.AppKit (6.9) <07bc3607-552a-3eb9-a941-4911c589dbc5> /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
0x196a83000 - 0x196af4fff com.apple.AE (924) <daf31fb3-2ce6-3945-9fb6-04e336c08177> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE
0x198ef4000 - 0x199227fff com.apple.HIToolbox (2.1.1) <7112f6f2-a77e-39db-83c8-f627b8a49df8> /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox
0x100534000 - 0x100593fff dyld (*) <75627683-a780-32ad-ae34-cf86dd23a26b> /usr/lib/dyld
0x190215000 - 0x190221fff libsystem_pthread.dylib (*) <f32ff902-ba43-30b0-ad43-a2a8a9ff69fe> /usr/lib/system/libsystem_pthread.dylib
External Modification Summary:
Calls made by other processes targeting this process:
task_for_pid: 0
thread_create: 0
thread_set_state: 0
Calls made by this process:
task_for_pid: 0
thread_create: 0
thread_set_state: 0
Calls made by all processes on this machine:
task_for_pid: 6
thread_create: 0
thread_set_state: 232
VM Region Summary:
ReadOnly portion of Libraries: Total=897.0M resident=0K(0%) swapped_out_or_unallocated=897.0M(100%)
Writable regions: Total=1.1G written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=1.1G(100%)
VIRTUAL REGION
REGION TYPE SIZE COUNT (non-coalesced)
=========== ======= =======
Activity Tracing 256K 1
ColorSync 528K 23
CoreGraphics 32K 2
Foundation 16K 1
Kernel Alloc Once 32K 1
MALLOC 208.3M 31
MALLOC guard page 192K 10
MALLOC_MEDIUM (reserved) 480.0M 4 reserved VM address space (unallocated)
MALLOC_NANO (reserved) 384.0M 1 reserved VM address space (unallocated)
STACK GUARD 56.1M 4
Stack 9808K 4
VM_ALLOCATE 80K 5
__AUTH 2157K 213
__AUTH_CONST 13.3M 379
__CTF 756 1
__DATA 9954K 369
__DATA_CONST 13.7M 384
__DATA_DIRTY 1259K 149
__FONT_DATA 4K 1
__LINKEDIT 577.6M 4
__OBJC_CONST 2356K 182
__OBJC_RO 83.0M 1
__OBJC_RW 3168K 1
__TEXT 319.4M 397
__UNICODE 592K 1
dyld private memory 1024K 1
mapped file 156.4M 20
shared memory 848K 13
=========== ======= =======
TOTAL 2.3G 2203
TOTAL, minus reserved VM space 1.4G 2203
-----------
Full Report
-----------
{"app_name":"UnnaturalScrollWheels","timestamp":"2022-08-21 14:13:27.00 +0900","app_version":"1.3.0","slice_uuid":"bde11e29-2b67-3dcf-90ff-bc31e4c9f297","build_version":"194","platform":1,"bundleID":"com.theron.UnnaturalScrollWheels","share_with_app_devs":0,"is_first_party":0,"bug_type":"309","os_version":"macOS 12.5.1 (21G83)","incident_id":"07B49C6E-B3BB-4D61-8DCB-016FBFF32727","name":"UnnaturalScrollWheels"}
{
"uptime" : 22000,
"procLaunch" : "2022-08-21 14:13:25.0877 +0900",
"procRole" : "Default",
"version" : 2,
"userID" : 501,
"deployVersion" : 210,
"modelCode" : "Mac14,2",
"procStartAbsTime" : 532254752871,
"coalitionID" : 5020,
"osVersion" : {
"train" : "macOS 12.5.1",
"build" : "21G83",
"releaseType" : "User"
},
"captureTime" : "2022-08-21 14:13:25.1979 +0900",
"incident" : "07B49C6E-B3BB-4D61-8DCB-016FBFF32727",
"bug_type" : "309",
"pid" : 33775,
"procExitAbsTime" : 532257374531,
"translated" : false,
"cpuType" : "ARM-64",
"procName" : "UnnaturalScrollWheels",
"procPath" : "\/Applications\/UnnaturalScrollWheels.app\/Contents\/MacOS\/UnnaturalScrollWheels",
"bundleInfo" : {"CFBundleShortVersionString":"1.3.0","CFBundleVersion":"194","CFBundleIdentifier":"com.theron.UnnaturalScrollWheels"},
"storeInfo" : {"deviceIdentifierForVendor":"D3B8FA1B-A1DD-527F-9B87-E4958429F1DC","thirdParty":true},
"parentProc" : "launchd",
"parentPid" : 1,
"coalitionName" : "com.theron.UnnaturalScrollWheels",
"crashReporterKey" : "62FD4EB0-FD12-A977-64BA-A779E7EFE606",
"wakeTime" : 6683,
"sleepWakeUUID" : "8FC3491B-BA3E-405A-BEFB-1DDD80DAD1A3",
"sip" : "enabled",
"isCorpse" : 1,
"exception" : {"codes":"0x0000000000000001, 0x00000001004853b4","rawCodes":[1,4299707316],"type":"EXC_BREAKPOINT","signal":"SIGTRAP"},
"termination" : {"flags":0,"code":5,"namespace":"SIGNAL","indicator":"Trace\/BPT trap: 5","byProc":"exc handler","byPid":33775},
"ktriageinfo" : "VM - pmap_enter failed with resource shortage\nVM - pmap_enter failed with resource shortage\n",
"extMods" : {"caller":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"system":{"thread_create":0,"thread_set_state":232,"task_for_pid":6},"targeted":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"warnings":0},
"faultingThread" : 0,
"threads" : [{"triggered":true,"id":576578,"threadState":{"x":[{"value":0},{"value":0},{"value":2},{"value":68},{"value":3331},{"value":0},{"value":0},{"value":6167181904},{"value":0},{"value":12570820490064232651},{"value":2043},{"value":2045},{"value":144},{"value":2963961999},{"value":2966061056},{"value":336},{"value":2147483648},{"value":817889280},{"value":0},{"value":5318890784},{"value":105553132493568},{"value":0},{"value":8},{"value":105553117514528},{"value":4299759616},{"value":105553132137296},{"value":68719476751},{"value":5120},{"value":0}],"flavor":"ARM_THREAD_STATE64","lr":{"value":8296193467869581832},"cpsr":{"value":1610616832},"fp":{"value":6167189552},"sp":{"value":6167189456},"esr":{"value":4060086273,"description":"(Breakpoint) brk 1"},"pc":{"value":4299707316,"matchesCrashFrame":1},"far":{"value":5326798774}},"queue":"com.apple.main-thread","frames":[{"imageOffset":21428,"imageIndex":0},{"imageOffset":21000,"imageIndex":0},{"imageOffset":16880,"imageIndex":0},{"imageOffset":17520,"imageIndex":0},{"imageOffset":496924,"symbol":"__CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__","symbolLocation":28,"imageIndex":1},{"imageOffset":1170456,"symbol":"___CFXRegistrationPost_block_invoke","symbolLocation":52,"imageIndex":1},{"imageOffset":1170308,"symbol":"_CFXRegistrationPost","symbolLocation":456,"imageIndex":1},{"imageOffset":295360,"symbol":"_CFXNotificationPost","symbolLocation":732,"imageIndex":1},{"imageOffset":40088,"symbol":"-[NSNotificationCenter postNotificationName:object:userInfo:]","symbolLocation":96,"imageIndex":2},{"imageOffset":303756,"symbol":"-[NSApplication _postDidFinishNotification]","symbolLocation":340,"imageIndex":3},{"imageOffset":303012,"symbol":"-[NSApplication _sendFinishLaunchingNotification]","symbolLocation":236,"imageIndex":3},{"imageOffset":293320,"symbol":"-[NSApplication(NSAppleEventHandling) _handleAEOpenEvent:]","symbolLocation":588,"imageIndex":3},{"imageOffset":292264,"symbol":"-[NSApplication(NSAppleEventHandling) _handleCoreEvent:withReplyEvent:]","symbolLocation":780,"imageIndex":3},{"imageOffset":223288,"symbol":"-[NSAppleEventManager dispatchRawAppleEvent:withRawReply:handlerRefCon:]","symbolLocation":348,"imageIndex":2},{"imageOffset":222832,"symbol":"_NSAppleEventManagerGenericHandler","symbolLocation":96,"imageIndex":2},{"imageOffset":47812,"imageIndex":4},{"imageOffset":46108,"imageIndex":4},{"imageOffset":17588,"symbol":"aeProcessAppleEvent","symbolLocation":488,"imageIndex":4},{"imageOffset":276828,"symbol":"AEProcessAppleEvent","symbolLocation":68,"imageIndex":5},{"imageOffset":268532,"symbol":"_DPSNextEvent","symbolLocation":1844,"imageIndex":3},{"imageOffset":261652,"symbol":"-[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:]","symbolLocation":1328,"imageIndex":3},{"imageOffset":204768,"symbol":"-[NSApplication run]","symbolLocation":596,"imageIndex":3},{"imageOffset":14076,"symbol":"NSApplicationMain","symbolLocation":1132,"imageIndex":3},{"imageOffset":15424,"imageIndex":0},{"imageOffset":20620,"symbol":"start","symbolLocation":520,"imageIndex":6}]},{"id":576589,"frames":[{"imageOffset":8312,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":7}]},{"id":576590,"frames":[{"imageOffset":8312,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":7}]},{"id":576617,"frames":[{"imageOffset":8312,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":7}]}],
"usedImages" : [
{
"source" : "P",
"arch" : "arm64",
"base" : 4299685888,
"CFBundleShortVersionString" : "1.3.0",
"CFBundleIdentifier" : "com.theron.UnnaturalScrollWheels",
"size" : 49152,
"uuid" : "bde11e29-2b67-3dcf-90ff-bc31e4c9f297",
"path" : "\/Applications\/UnnaturalScrollWheels.app\/Contents\/MacOS\/UnnaturalScrollWheels",
"name" : "UnnaturalScrollWheels",
"CFBundleVersion" : "194"
},
{
"source" : "P",
"arch" : "arm64e",
"base" : 6713393152,
"CFBundleShortVersionString" : "6.9",
"CFBundleIdentifier" : "com.apple.CoreFoundation",
"size" : 5533696,
"uuid" : "1643f3d9-7049-37e4-b844-c0c0a42bde3b",
"path" : "\/System\/Library\/Frameworks\/CoreFoundation.framework\/Versions\/A\/CoreFoundation",
"name" : "CoreFoundation",
"CFBundleVersion" : "1866"
},
{
"source" : "P",
"arch" : "arm64e",
"base" : 6729138176,
"CFBundleShortVersionString" : "6.9",
"CFBundleIdentifier" : "com.apple.Foundation",
"size" : 4136960,
"uuid" : "59ff845a-05b2-3b64-ae06-6ef1d6aee83e",
"path" : "\/System\/Library\/Frameworks\/Foundation.framework\/Versions\/C\/Foundation",
"name" : "Foundation",
"CFBundleVersion" : "1866"
},
{
"source" : "P",
"arch" : "arm64e",
"base" : 6759174144,
"CFBundleShortVersionString" : "6.9",
"CFBundleIdentifier" : "com.apple.AppKit",
"size" : 15437824,
"uuid" : "07bc3607-552a-3eb9-a941-4911c589dbc5",
"path" : "\/System\/Library\/Frameworks\/AppKit.framework\/Versions\/C\/AppKit",
"name" : "AppKit",
"CFBundleVersion" : "2113.60.148"
},
{
"source" : "P",
"arch" : "arm64e",
"base" : 6822572032,
"CFBundleShortVersionString" : "924",
"CFBundleIdentifier" : "com.apple.AE",
"size" : 466944,
"uuid" : "daf31fb3-2ce6-3945-9fb6-04e336c08177",
"path" : "\/System\/Library\/Frameworks\/CoreServices.framework\/Versions\/A\/Frameworks\/AE.framework\/Versions\/A\/AE",
"name" : "AE",
"CFBundleVersion" : "924"
},
{
"source" : "P",
"arch" : "arm64e",
"base" : 6860783616,
"CFBundleShortVersionString" : "2.1.1",
"CFBundleIdentifier" : "com.apple.HIToolbox",
"size" : 3358720,
"uuid" : "7112f6f2-a77e-39db-83c8-f627b8a49df8",
"path" : "\/System\/Library\/Frameworks\/Carbon.framework\/Versions\/A\/Frameworks\/HIToolbox.framework\/Versions\/A\/HIToolbox",
"name" : "HIToolbox"
},
{
"source" : "P",
"arch" : "arm64e",
"base" : 4300423168,
"size" : 393216,
"uuid" : "75627683-a780-32ad-ae34-cf86dd23a26b",
"path" : "\/usr\/lib\/dyld",
"name" : "dyld"
},
{
"source" : "P",
"arch" : "arm64e",
"base" : 6713069568,
"size" : 53248,
"uuid" : "f32ff902-ba43-30b0-ad43-a2a8a9ff69fe",
"path" : "\/usr\/lib\/system\/libsystem_pthread.dylib",
"name" : "libsystem_pthread.dylib"
}
],
"sharedCache" : {
"base" : 6709772288,
"size" : 3144712192,
"uuid" : "f8ab76fb-504c-32dd-a5db-15a1f2f028f8"
},
"vmSummary" : "ReadOnly portion of Libraries: Total=897.0M resident=0K(0%) swapped_out_or_unallocated=897.0M(100%)\nWritable regions: Total=1.1G written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=1.1G(100%)\n\n VIRTUAL REGION \nREGION TYPE SIZE COUNT (non-coalesced) \n=========== ======= ======= \nActivity Tracing 256K 1 \nColorSync 528K 23 \nCoreGraphics 32K 2 \nFoundation 16K 1 \nKernel Alloc Once 32K 1 \nMALLOC 208.3M 31 \nMALLOC guard page 192K 10 \nMALLOC_MEDIUM (reserved) 480.0M 4 reserved VM address space (unallocated)\nMALLOC_NANO (reserved) 384.0M 1 reserved VM address space (unallocated)\nSTACK GUARD 56.1M 4 \nStack 9808K 4 \nVM_ALLOCATE 80K 5 \n__AUTH 2157K 213 \n__AUTH_CONST 13.3M 379 \n__CTF 756 1 \n__DATA 9954K 369 \n__DATA_CONST 13.7M 384 \n__DATA_DIRTY 1259K 149 \n__FONT_DATA 4K 1 \n__LINKEDIT 577.6M 4 \n__OBJC_CONST 2356K 182 \n__OBJC_RO 83.0M 1 \n__OBJC_RW 3168K 1 \n__TEXT 319.4M 397 \n__UNICODE 592K 1 \ndyld private memory 1024K 1 \nmapped file 156.4M 20 \nshared memory 848K 13 \n=========== ======= ======= \nTOTAL 2.3G 2203 \nTOTAL, minus reserved VM space 1.4G 2203 \n",
"legacyInfo" : {
"threadTriggered" : {
"queue" : "com.apple.main-thread"
}
},
"trialInfo" : {
"rollouts" : [
{
"rolloutId" : "61301e3a61217b3110231469",
"factorPackIds" : {
"SIRI_FIND_MY_CONFIGURATION_FILES" : "6216ae152a40e71046e16225"
},
"deploymentId" : 240000016
},
{
"rolloutId" : "5fc94383418129005b4e9ae0",
"factorPackIds" : {
},
"deploymentId" : 240000441
}
],
"experiments" : [
]
}
}
It seems that running this app in one user will affect all users.
It would be better to have an option for that.
I am having trouble getting the program to work correctly with my magic mouse. I've tried rebooting and all of the invert and detection settings.
My tracking speed is currently set to the maximum in System Preferences
→ Mouse
but it's still too slow. It would be great to be able to make it even faster.
Edit: uh now out of nowhere it suddenly switched to way too fast. If I change the tracking speed it reenables mouse acceleration. If I then untick and retick the Disable mouse acceleration
checkbox speed goes bad to way too fast.
For example,when i zoom in in photoshop,with the same action, it would be zoom out in sketch.
will there be a good solution for it, thank you
I installed the app from homebrew - but when I launch it it I see the following dialog:
“UnnaturalScrollWheels” can’t be opened because Apple cannot check it for malicious software.
This software needs to be updated. Contact the developer for more information.
I'm quite happy to have found your tool! Whit that said, is there any way it could keep inverting mouse wheel when remote controlling and iPad through universal control? I guess it's not passing through universal control at all but i only have tested it with my iPad Pro. Scroll direction remains natural on the iPad while it is reverted on the mac.
First, I installed the app, opened it, an alert showed up told me to grant the app access to Accessibility. I had added it to allowance list. Then I opened the app again, but nothing show up. I checked Activity Monitor and saw that there is no process of the app running.
I uncheck the app in the allowance list, it asked for permission to access Accessibility again. Does UnnaturalScrollWheels support macOS High Sierra?
When installing from homebrew via brew install --cask unnaturalscrollwheels
and clicking on the Run at login
feature on the panel, a page to https://github.com/ther0n/UnnaturalScrollWheels/blob/master/RunAtLogin.md will open and it's a 404 not found.
Searching for the file on the repository yields nothing, how do I enable run at login? Is it even implemented?
can you post this to the apple store?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.