Here's a Karabiner file if you're interested in having a go on your mac.
<?xml version="1.0"?>
<root>
<!-- define new modifiers -->
<modifierdef>MODIFIERMODIFIERLEFT</modifierdef>
<modifierdef>MODIFIERMODIFIERRIGHT</modifierdef>
<item>
<name>modifier modifier</name>
<identifier>private.modifier.modifier</identifier>
<!-- reassign command keys to modifier modifiers -->
<autogen>
__KeyToKey__
KeyCode::COMMAND_L,
KeyCode::VK_MODIFIER_MODIFIERMODIFIERLEFT
</autogen>
<autogen>
__KeyToKey__
KeyCode::COMMAND_R,
KeyCode::VK_MODIFIER_MODIFIERMODIFIERRIGHT
</autogen>
<!-- left hand modifiers -->
<autogen>
__KeyToKey__
KeyCode::A, ModifierFlag::MODIFIERMODIFIERLEFT,
KeyCode::OPTION_L, ModifierFlag::MODIFIERMODIFIERLEFT
</autogen>
<autogen>
__KeyToKey__
KeyCode::S, ModifierFlag::MODIFIERMODIFIERLEFT,
KeyCode::CONTROL_L, ModifierFlag::MODIFIERMODIFIERLEFT
</autogen>
<autogen>
__KeyToKey__
KeyCode::D, ModifierFlag::MODIFIERMODIFIERLEFT,
KeyCode::COMMAND_L, ModifierFlag::MODIFIERMODIFIERLEFT
</autogen>
<autogen>
__KeyToKey__
KeyCode::F, ModifierFlag::MODIFIERMODIFIERLEFT,
KeyCode::SHIFT_L, ModifierFlag::MODIFIERMODIFIERLEFT
</autogen>
<autogen>
__KeyToKey__
KeyCode::G, ModifierFlag::MODIFIERMODIFIERLEFT,
KeyCode::FN, ModifierFlag::MODIFIERMODIFIERLEFT
</autogen>
<!-- right hand modifiers-->
<autogen>
__KeyToKey__
KeyCode::H, ModifierFlag::MODIFIERMODIFIERRIGHT,
KeyCode::FN, ModifierFlag::MODIFIERMODIFIERRIGHT
</autogen>
<autogen>
__KeyToKey__
KeyCode::J, ModifierFlag::MODIFIERMODIFIERRIGHT,
KeyCode::SHIFT_R, ModifierFlag::MODIFIERMODIFIERRIGHT
</autogen>
<autogen>
__KeyToKey__
KeyCode::K, ModifierFlag::MODIFIERMODIFIERRIGHT,
KeyCode::COMMAND_R, ModifierFlag::MODIFIERMODIFIERRIGHT
</autogen>
<autogen>
__KeyToKey__
KeyCode::L, ModifierFlag::MODIFIERMODIFIERRIGHT,
KeyCode::CONTROL_R, ModifierFlag::MODIFIERMODIFIERRIGHT
</autogen>
<autogen>
__KeyToKey__
KeyCode::SEMICOLON, ModifierFlag::MODIFIERMODIFIERRIGHT,
KeyCode::OPTION_R, ModifierFlag::MODIFIERMODIFIERRIGHT
</autogen>
</item>
</root>