Sunday, June 21, 2015

AutoHotKey Mac Keyboard on Windows 8

I've been doing a lot of work on site recently on a MacBook Pro, and, although I resisted at first, I've grown very fond of the Mac keyboard experience (although this could be attributed to Stockholm Syndrome). At home however I still use my Dell Windows Desktop for most of my Windows/.NET development. However, to keep the keyboard experience similar between my MacBook and my Windows Desktop, I bought a Mac Keyboard with Numpad for my Desktop (because customizing a MacBook keyboard to function like Windows is more difficult/impossible, luckily the other way around is not too difficult). I then needed to modify the default behaviors slightly to better simulate the Mac keyboard experience on Windows. The main differences are with the cmd+`key` functions vs ctrl+`key` and the location of the numpad operators. I used autohotkey to customize the default behavior and it works pretty well. Instructions on how to do this are below.

Setup Steps:


You'll need to install autohotkey on Windows: http://www.autohotkey.com/

Then copy this script to your local machine somewhere: (feel free to modify to your heart's content by the way)
https://github.com/aaronhoffman/utils/blob/master/AutoHotKey/MacKeyboardOnWindows.ahk

You'll then most likely want the script to start on startup. You'll need to create a shortcut to the script above here (might need to run as admin for some functions):

%appdata%\Microsoft\Windows\Start Menu\Programs\Startup\

(if the above path does not work, play around with adding a "\Roaming\" right after %appdata%)



Notes:

Unfortunately the experience isn't perfect. The most jarring difference is the Win+Tab key (or cmd+Tab key combo) can not be overridden on Windows to simulate the Alt+Tab functionality. This appears to be a security restriction. I did find a couple sites that said you can get it to work, but you have to compile the AHK script and sign it and elevate it to have special privileges on the machine... and I just wasn't going to do all that. Hopefully this will be better in Windows 10.

Special thanks to: https://github.com/stroebjo/autohotkey-windows-mac-keyboard this was the script I started with and modified.


Hope this helps,
Aaron




Thursday, August 21, 2014

Mac Disable Turn Off Startup Sound Boot Chime

I wanted to turn off my mac's startup sound but could not find any built in way through settings to do so. I could not find a definitive solution for this, there is some disagreement on how it should be done.

The only "officially supported" way to achieve this is to have the computer sound be set to "mute" before it is shut down. If the computer is muted at the time of shutdown, it will not play the startup sound on the next startup.




Option 1
Hold down the mute key before pressing the power button and continue to press the mute key through the time the startup sound would normally be heard. This will prevent the sound from being played even if the computer was not set to mute on last shutdown.


Option 2
Create a script to mute the machine on every shutdown. There was some disagreement on whether this was a good solution as support for startup/shutdown scripts could be deprecated in the future. We'll use the com.apple.loginwindow LogoutHook to control execution of our script.

(steps below lifted from here: https://discussions.apple.com/thread/4001727?start=15&tstart=0)


    0. Check if any hooks already exist (these will be overwritten, so make sure it is OK for you)
    sudo defaults read com.apple.loginwindow LogoutHook

    1. Create script file for muting, with the contents below (replace ` with single quote):
    #!/bin/bash
    osascript -e `set volume with output muted`

    2. Make file executable:
    sudo chmod u+x /path/to/mute.sh

    3. Add hooks for muting
    sudo defaults write com.apple.loginwindow LogoutHook /path/to/mute.sh


Note: to delete the hook, use the following:
sudo defaults delete com.apple.loginwindow LogoutHook


Hope this helps,
Aaron

Thursday, May 22, 2014

SalesForce Order Contract Number Not Required Field

In SalesForce, to make the "Contract Number" field of the "Order" object not a required field. Go to

Setup > Build > Customize > Orders > Page Layout



Click the properties wrench next to the Contract Number field:



Uncheck the Required checkbox:



That's it.  Not very intuitive, but easy enough to change.


Hope this helps,
Aaron Hoffman