# Alt key virtual codes

**URL:** https://forum.kirupa.com/t/alt-key-virtual-codes/638142
**Category:** programming
**Created:** [April 26, 2018, 11:26am UTC](https://forum.kirupa.com/t/alt-key-virtual-codes/638142 "2018-04-26T11:26:24Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![Mulligan81](https://avatars.discourse-cdn.com/v4/letter/m/b19c9b/32.png) [@Mulligan81](https://forum.kirupa.com/u/Mulligan81)
#### Post date: [April 26, 2018, 11:26am UTC](https://forum.kirupa.com/t/alt-key-virtual-codes/638142/1 "2018-04-26T11:26:24Z")

</div>

Inspecting the `Right Alt` key messages using `Microsoft Spy++` returns the following:

```
WM_KEYDOWN nVirtKey:VK_CONTROL 
WM_KEYDOWN nVirtKey:VK_MENU
WM_SYSKEYUP nVirtKey:VK_CONTROL
WM_KEYUP nVirtKey:VK_MENU

```

Why does the key generate 2 messages `VK_CONTROL` and `VK_MENU`? Why is the type of `VK_CONTROL` SYS (system) while `VK_MENU` non-system?
