VMware Communities
Uli_Zappe
Contributor
Contributor
Jump to solution

Key Mapping of F15 and F16?

Hi,

does anyone know whether F15 and F16 on an Apple keyboard are mapped to the virtual machines by Fusion at all?

While creating a character mapping for OPENSTEP, I tried every key code from 0x01 to 0x71 (the left Windows/Command key, and AFAIK the highest key code) to no avail. Are these two function keys simply ignored because they don't exist on a Windows keyboard? (However, F13 and F14 are[/i] mapped, to 0x6e and 0x46, respectively.)

0 Kudos
1 Solution

Accepted Solutions
rcardona2k
Immortal
Immortal
Jump to solution

>As a reference point (there are different scan code tables floating around), can you also tell me the scan code (like the 00_45 and 00_67 values from above) you get with SharpKeys for the following keys:

Right Shift: 00_36

Right Alt: ? (not present on MBP)

Right Command: ? (doesn't register in SharpKeys on a MBP)

Up Arrow: E0_48

Return: 00_1C

View solution in original post

0 Kudos
8 Replies
rcardona2k
Immortal
Immortal
Jump to solution

>does anyone know whether F15 and F16 on an Apple keyboard are mapped to the virtual machines by Fusion at all?

>Are these two function keys simply ignored because they don't exist on a Windows keyboard?

I don't know the answer to your question but anyone with an Apple USB extended keyboard and the XP onscreen keyboard (Start > Run > osk) should be able to tell if they're mapped.

FWIW, I don't know of any purpose for F15 or F16, other than flying really fast[/i] (sorry), on a Mac so I would just re-assigned them on the host using Quickeys to other key codes that are mapped into the Guest VM.

0 Kudos
Uli_Zappe
Contributor
Contributor
Jump to solution

>does anyone know whether F15 and F16 on an Apple

keyboard are mapped to the virtual machines by Fusion

at all?

Are these two function keys simply ignored because

they don't exist on a Windows keyboard?

I don't know the answer to your question but anyone

with an Apple USB extended keyboard and the XP

onscreen keyboard (Start > Run > osk) should be able

to tell if they're mapped.

While I (obviously Smiley Wink ) have the Apple keyboard, I don't have Windows XP. Maybe someone else can have a look?

FWIW, I don't know of any purpose for F15 or F16,

Several of my applications use them, but my point here is mostly that I want to create a correct and complete keyboard layout file for OPENSTEP that I can make available on the web for other OPENSTEP on VMware users. Therefore, I want to make it as correct as possible, and if[/i] these keys were mapped, I'd want to provide them. But as I said, from what I can see they probably aren't mapped by VMware (which I find strange because, after all, there might[/i] be guest OSes that could use them (OS X for example Smiley Wink )).

0 Kudos
admin
Immortal
Immortal
Jump to solution

Maybe someone else can have a look?

I have an Apple keyboard and an XP SP2 VM. I installed SharpKeys into XP. SharpKeys is a little program for keyboard remapping, and as a side benefit it can show you what scan code it thinks it just saw.

SharpKeys says that F15 is mapped to Num Lock (00_45), but, oddly, F15 doesn't function as Num Lock. Instead, the button on my keyboard labeled "clear" (above the 7 on the keypad) functions as Num Lock.

F16 generates scan code 00_67 and is apparently not mapped to anything. For my own amusement, I used SharpKeys to map it to launch the calculator (scan code E0_21). Well, yes, actually, that was really not very amusing.

Incidentally, XP sees F13 as PrtSc, even though SharpKeys denies it. And osk reveals that F14 is ScrollLock.

SharpKeys is here: http://www.randyrants.com/2006/07/sharpkeys_211.html

Uli_Zappe
Contributor
Contributor
Jump to solution

SharpKeys says that F15 is mapped to Num Lock

(00_45),

\[...]

F16 generates scan code 00_67 and is apparently not

mapped to anything.

Thanks, that helps! Smiley Happy

As a reference point (there are different scan code tables floating around), can you also tell me the scan code (like the 00_45 and 00_67 values from above) you get with SharpKeys for the following keys:

Right Shift

Right Alt

Right Command

Up Arrow

Return

That would be important for me to proceed - thanks a lot!

Incidentally, XP sees F13 as PrtSc, even though

SharpKeys denies it. And osk reveals that F14 is

ScrollLock.

Yep, that's consistent with what I get here.

but, oddly, F15 doesn't function as Num

Lock. Instead, the button on my keyboard labeled

"clear" (above the 7 on the keypad) functions as Num

Lock.

AFAIK Num Lock might be dealt with in the keyboard itself, so the Apple devised Num Lock key (above the 7) works as Num Lock, no matter what the OS tries to configure.

I experience an even trickier case with the Caps Lock key, which seems to be kind of hardwired in the keyboard and[/i] additionally dealt with in the OS (at least OPENSTEP). As a result of this interference, for repeatedly consistent results I have to press Caps Lock three times[/i] to initiate the lock, and two times[/i] to release it. Is this also the case with Windows XP?

0 Kudos
rcardona2k
Immortal
Immortal
Jump to solution

>As a reference point (there are different scan code tables floating around), can you also tell me the scan code (like the 00_45 and 00_67 values from above) you get with SharpKeys for the following keys:

Right Shift: 00_36

Right Alt: ? (not present on MBP)

Right Command: ? (doesn't register in SharpKeys on a MBP)

Up Arrow: E0_48

Return: 00_1C

0 Kudos
admin
Immortal
Immortal
Jump to solution

I tried those keys on my Apple USB keyboard, and got results that match Richard's MBP results. SharpKeys did not report any scan code from either "option/alt" key, although they both work as Alt in applications. So I suspect that the Windows shell is catching the keystroke before SharpKeys can get it.

The right "apple/command" key did not get a reaction out of SharpKeys either.

Uli, you also asked about CapsLock in Windows XP. It works fine for me each time.

Uli_Zappe
Contributor
Contributor
Jump to solution

Hi Richard and Brian,

thanks a lot for your help - that got me as far as I can probably get.

F16/00_67 is the same on my installation. However, OPENSTEP can only deal with 4 Byte scan codes, so the keyboard driver maps 8 Byte codes such as your Up Arrow/E0_48 to a higher 4 Byte code (00_64 for Up Arrow). So as it happens, 00_67 is also the scan code for Right Arrow on OPENSTEP, so that F16 effectively doubles that key and is otherwise useless. Since Right Arrow has no effect if you enter test text in an editor (and are always at the last/rightmost character), I just didn't find that out by trial and error.

F15 is a different story. The OPENSTEP keyboard driver seems to refuse to map the Num Lock key code 00_45 twice (assuming that's what Fusion originally delivers) and maps F15 to 00_6f instead, as I finally found out. Strangely, though, F15 thereby gets kind of a "repeat" functionality, i.e. whatever character I assign to F15 in OPENSTEP, will be printed repeatedly as soon as I press F15 once. To stop this process, I have to press F15 a second time. Strange ... (Is there any key in Windows that has this behavior?)

To sum up, I wonder if the scan code mapping that VMware chose for Fusion is a bit unfortunate for F15 and F16. (This assumes that there are no F15 and F16 in the Windows world, and VMware is free in its choice.) For Windows, F15 obviously doubles Num Lock, as does F16 for OPENSTEP and Right Arrow. I don't know about Windows and Linux, but in OPENSTEP, the following scan codes are unused and should work well and without conflicts: 00_54, 00_55, 00_5A, 00_5B, 00_5C, 00_5D, 00_5E and 00_5F.

Once there are no conflicts in the scan codes of the virtual hardware, the additional function keys can be mapped to whatever the user likes inside the guest OS.

SharpKeys

did not report any scan code from either "option/alt"

key, although they both work as Alt in applications.

So I suspect that the Windows shell is catching the

keystroke before SharpKeys can get it.

Yep, that's certainly a SharpKeys related issue.

Uli, you also asked about CapsLock in Windows XP. It

works fine for me each time.

Interesting. Sounds a bit like F15 - the virtual hardware's own logic and OPENSTEP seem to be in conflict somehow.

0 Kudos
Uli_Zappe
Contributor
Contributor
Jump to solution

I wrote:

F16/00_67 is the same on my installation. However,

OPENSTEP can only deal with 4 Byte scan codes, so the

keyboard driver maps 8 Byte codes such as your Up

Arrow/E0_48 to a higher 4 Byte code (00_64 for Up

Arrow).

Uhm, "4 Byte" is supposed to read "1 Byte", and "8 Byte" is supposed to read "2 Byte" here.

Note to self: don't mess around with Bytes when you're deadly tired. Smiley Wink

Sorry for the confusion!

0 Kudos