tl;dr: Everything works properly, except the Windows Button. But you can remap it to Mouse Button 4 using KeyRemap4MacBook.
I just got a new mouse: Microsoft Sculpt Mobile Mouse. And because I only use Mac OS X, I didn't expect that all the features are available on OS X. The reason I choose Microsoft's mouse over Logitech's is because that many people reported that horizontal scrolling, or "spin", is not working at all on OS X.
Here is the test result for those who want to get one but don't know whether it works on your Mac.
If you've ever implemenetd sending form with Ajax, then, in some conditions, the request will be corrupted and the server may not be able to parse the request.
For example, there is usually an "I Agree to Term of Service" check box at the end of a registration form. I've made a jsbin sample which sends request to RequestBin so you can see the raw request without proxy software.
Let's leave "I Agree to Term of Service" unchecked and submit the form (via Ajax).
In Chrome and Firefox, the form submission will success, as expected. You can capture raw HTTP request by mitmproxy or Fiddler on Windows. Here is the request body I got:
However in IE10 and IE11, the request body will be corrupted and the submission will fail:
See that unfinished name="? That is not encoded properly, and makes some HTTP server apps hard to parse the payload and may throw errors. In Rack (HTTP server app protocol for Ruby,) it would raise EOFError and the client will get 500 Internal Server Error.
Since doorkeeper_for from Doorkeeper can only be used in Rails, and Rack::OAuth2 is simply a Rack Middleware, so we have to mash them up manually. I've written a simple review for the current solutions: 〈Ruby / Rails 的 OAuth 2 整合方案簡單評比〉 (Chinese only; may be translated into English someday)
I've put the whole process in chitsaou/oauth2-api-sample repository. Each step has a corresponding step-x tag, for example the result of Step 1 is available at step-1 tag.