I regular problem of mine was launching the VMware remote console on my MAC, and being unable to use the Numeric Keypad.
I used Karabiner Elements to create my own custom rules that allow me to do this.
First step is to install Karabiner Elements
Next, I prefer to use terminal, and navigate to ~/.config/karabiner/assets/complex_modifications
Inside that folder I vi filename ben-vmware-keyboard-mapping
*note, I only prefix my name on the filename so that I know it is my custom rule in Karabiner. It is completely optional!
Next, I paste the following into the file.
{
"title": "Map Keypad when using VMWare Console",
"rules": [
{
"description": "BEN: VMware Console Use Keypad 0 key as 0",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"^com\\.vmware\\.vmrc$",
"^com\\.apple\\.Terminal$",
"^com\\.googlecode\\.iterm2$"
],
"type": "frontmost_application_if"
}
],
"from": {
"key_code": "keypad_0"
},
"to": [
{
"key_code": "0"
}
],
"type": "basic"
}
]
},
{
"description": "BEN: VMware Console Use Keypad 1 key as 1",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"^com\\.vmware\\.vmrc$",
"^com\\.apple\\.Terminal$",
"^com\\.googlecode\\.iterm2$"
],
"type": "frontmost_application_if"
}
],
"from": {
"key_code": "keypad_1"
},
"to": [
{
"key_code": "1"
}
],
"type": "basic"
}
]
},
{
"description": "BEN: VMware Console Use Keypad 2 key as 2",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"^com\\.vmware\\.vmrc$",
"^com\\.apple\\.Terminal$",
"^com\\.googlecode\\.iterm2$"
],
"type": "frontmost_application_if"
}
],
"from": {
"key_code": "keypad_2"
},
"to": [
{
"key_code": "2"
}
],
"type": "basic"
}
]
},
{
"description": "BEN: VMware Console Use Keypad 3 key as 3",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"^com\\.vmware\\.vmrc$",
"^com\\.apple\\.Terminal$",
"^com\\.googlecode\\.iterm2$"
],
"type": "frontmost_application_if"
}
],
"from": {
"key_code": "keypad_3"
},
"to": [
{
"key_code": "3"
}
],
"type": "basic"
}
]
},
{
"description": "BEN: VMware Console Use Keypad 4 key as 4",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"^com\\.vmware\\.vmrc$",
"^com\\.apple\\.Terminal$",
"^com\\.googlecode\\.iterm2$"
],
"type": "frontmost_application_if"
}
],
"from": {
"key_code": "keypad_4"
},
"to": [
{
"key_code": "4"
}
],
"type": "basic"
}
]
},
{
"description": "BEN: VMware Console Use Keypad 5 key as 5",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"^com\\.vmware\\.vmrc$",
"^com\\.apple\\.Terminal$",
"^com\\.googlecode\\.iterm2$"
],
"type": "frontmost_application_if"
}
],
"from": {
"key_code": "keypad_5"
},
"to": [
{
"key_code": "5"
}
],
"type": "basic"
}
]
},
{
"description": "BEN: VMware Console Use Keypad 6 key as 6",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"^com\\.vmware\\.vmrc$",
"^com\\.apple\\.Terminal$",
"^com\\.googlecode\\.iterm2$"
],
"type": "frontmost_application_if"
}
],
"from": {
"key_code": "keypad_6"
},
"to": [
{
"key_code": "6"
}
],
"type": "basic"
}
]
},
{
"description": "BEN: VMware Console Use Keypad 7 key as 7",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"^com\\.vmware\\.vmrc$",
"^com\\.apple\\.Terminal$",
"^com\\.googlecode\\.iterm2$"
],
"type": "frontmost_application_if"
}
],
"from": {
"key_code": "keypad_7"
},
"to": [
{
"key_code": "7"
}
],
"type": "basic"
}
]
},
{
"description": "BEN: VMware Console Use Keypad 8 key as 8",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"^com\\.vmware\\.vmrc$",
"^com\\.apple\\.Terminal$",
"^com\\.googlecode\\.iterm2$"
],
"type": "frontmost_application_if"
}
],
"from": {
"key_code": "keypad_8"
},
"to": [
{
"key_code": "8"
}
],
"type": "basic"
}
]
},
{
"description": "BEN: VMware Console Use Keypad 9 key as 9",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"^com\\.vmware\\.vmrc$",
"^com\\.apple\\.Terminal$",
"^com\\.googlecode\\.iterm2$"
],
"type": "frontmost_application_if"
}
],
"from": {
"key_code": "keypad_9"
},
"to": [
{
"key_code": "9"
}
],
"type": "basic"
}
]
},
{
"description": "BEN: VMware Console Use Keypad = key as =",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"^com\\.vmware\\.vmrc$",
"^com\\.apple\\.Terminal$",
"^com\\.googlecode\\.iterm2$"
],
"type": "frontmost_application_if"
}
],
"from": {
"key_code": "keypad_equal_sign"
},
"to": [
{
"key_code": "equal_sign"
}
],
"type": "basic"
}
]
},
{
"description": "BEN: VMware Console Use Keypad / key as /",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"^com\\.vmware\\.vmrc$",
"^com\\.apple\\.Terminal$",
"^com\\.googlecode\\.iterm2$"
],
"type": "frontmost_application_if"
}
],
"from": {
"key_code": "keypad_slash"
},
"to": [
{
"key_code": "slash"
}
],
"type": "basic"
}
]
},
{
"description": "BEN: VMware Console Use Keypad * key as *",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"^com\\.vmware\\.vmrc$",
"^com\\.apple\\.Terminal$",
"^com\\.googlecode\\.iterm2$"
],
"type": "frontmost_application_if"
}
],
"from": {
"key_code": "keypad_asterisk"
},
"to": [
{
"key_code": "asterisk"
}
],
"type": "basic"
}
]
},
{
"description": "BEN: VMware Console Use Keypad - key as -",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"^com\\.vmware\\.vmrc$",
"^com\\.apple\\.Terminal$",
"^com\\.googlecode\\.iterm2$"
],
"type": "frontmost_application_if"
}
],
"from": {
"key_code": "keypad_hyphen"
},
"to": [
{
"key_code": "hyphen"
}
],
"type": "basic"
}
]
},
{
"description": "BEN: VMware Console Use Keypad + key as +",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"^com\\.vmware\\.vmrc$",
"^com\\.apple\\.Terminal$",
"^com\\.googlecode\\.iterm2$"
],
"type": "frontmost_application_if"
}
],
"from": {
"key_code": "keypad_plus"
},
"to": [
{
"key_code": "plus"
}
],
"type": "basic"
}
]
},
{
"description": "BEN: VMware Console Use Keypad ENTER key as ENTER",
"manipulators": [
{
"conditions": [
{
"bundle_identifiers": [
"^com\\.vmware\\.vmrc$",
"^com\\.apple\\.Terminal$",
"^com\\.googlecode\\.iterm2$"
],
"type": "frontmost_application_if"
}
],
"from": {
"key_code": "keypad_return_or_enter"
},
"to": [
{
"key_code": "return_or_enter"
}
],
"type": "basic"
}
]
}
]
}
Next I open Karabiner Elements.
Next I click on Complex Modifications and click on Add Rule
Scroll down and look for the “Map Keypad when using VMWare Console” Section.
To add them all, scroll down and you will see an Enable All button!
Now you will see them enabled on the next screen
Now when I open the Remote Console I am able to use the numeric keypad !!