Configuring custom keys on bluetooth keyboard

I have a Logitech Bluetooth Keyboard for Android similar to the one shown here at BestBuy. The one I have is older and isn't printed the same as either model shown on BestBuy's website, but it has the same number of keys in the same place.

Is there anyway I can manually map the bottom row of keys to match certain keys for Apple, such as Fn, Control, Alt/Option and Command? This would be really helpful and would let me share one bluetooth keyboard between my Android tablet and Macbook. I prefer this to a wireless keyboard is it already has a carrying case and is very light weight.

Any help is appreciated!

Mac OS X 10.9

EDIT It appears, the closest to mine is now the Windows 8 RT / Android keyboard here, but it still doesn't have the same keyboard layout.

My keyboard has 4 buttons to the left of the space bar and 3 buttons between space and the arrows. So it has the same button positions, just different labels. Here is a pic of the one I'm using. The biggest thing is that mine doesn't have a "CMD" button, I really only need to fix the mapping so that the little search icon will act as the Apple Command button and then I would be good to go. Any ideas?

my logitech keyboard layout

** EDIT TWO ** Using the recommendation found in the accepted answer below, I started playing with the PCKeyboardHack and KeyRemap4MacBook software. I want to add for anyone who comes here looking for an answer to a similar problem, the two pieces of software shown above are both very good and using the instructions in the shown answer, should allow you to map any extra keys found on most keyboards. The problem with the older Logitech Android keyboard is that his software and the Macbook are apparently not recognizing those keys at all.

I appreciate all the help!

Forum entry explained problem I experienced, by a user who tried to do this awhile back.


Solution 1:

  1. Download and install KeyRemap4MacBook.

  2. Open EventViewer:

    open /Applications/KeyRemap4MacBook.app/Contents/Applications/EventViewer.app
    
  3. Press the key that you wish to customise and note the KeyCode:::

  4. Create a private.xml like this:

    <?xml version="1.0"?>
    <root>
      <item>
        <name>Modifier Remapping</name>
        <identifier>modremap</identifier>
        <autogen>__KeyToKey__ KeyCode::CONTROL_L, KeyCode::COMMAND_L</autogen>
      </item>
    </root>
    

    Replace KeyCode::CONTROL_L with the key that you wish to change and KeyCode::COMMAND_L with the key that you wish to replace it with.