Menu

Print Screen, Scroll lock, and Pause remap

2008-08-26
2013-01-02
  • Aaron Traas

    Aaron Traas - 2008-08-26

    Greetings... I'm relatively new to the Mac platform, and got sick of the awful Mac keyboard that came with my G5 PowerMac running MacOS 10.4.11. I ordered a USB buckling spring keyboard from Unicomp (http://pckeyboards.stores.yahoo.net/customizer.html) and had them make some custom buttons for me, which they did very cheaply. I got the Windows and alt keys replaced with option and command, respectively, and I had them replace the Print Screen, Scroll lock, and Pause keys with Vol +, Vol -, and Eject.

    I used DoubleCommand to remap the Alt and Windows keys, and it worked great. What I would like to do is remap the Print Screen, Scroll lock, and Pause keys to Vol +, Vol -, and Eject.

    I'm a software developer, and I could try to do this myself. I'm more than willing to do so. What software do I need to build DoubleCommand? I've never written any software specific to the Mac -- in fact, I've generally done platform-neutral development using toolkits like Qt and SDL. What do I need to get started?

     
    • Michael Baltaks

      Michael Baltaks - 2008-08-27

      You'll need the Mac developer tools, called Xcode. A version is usually available on the installation CD/DVDs that came with your computer, but you can always get the latest from http://connect.apple.com (requires free registration).

      Then you need to get the source, look on the developers page on the website. There are makefiles there to build everything and test your work, so you can edit the source files in your favourite editor.

      You'll probably make most of your changes in kext/Substitute.cpp.

       
    • Aaron Traas

      Aaron Traas - 2008-08-27

      I downloaded XTools 2.5 (latest available for MacOS 10.4), and checked the code out of SVN.

      A more pertinent question -- your way of storing options as a bitmask flag is getting close to running out. I could implement all of my changes as a single option, or I/you could start porting the codebase to go with a 64-bit int.

      I'm not ready to make a single change yet; I want to understand the codebase better first. It may take a little while; I don't have too much free time, but I'll get to it eventually.

       

Log in to post a comment.