- Timestamp:
- Jul 22, 2007 10:54:01 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/VBoxConsoleView.cpp
r3762 r3767 2642 2642 AssertMsg (attached, ("Console must be attached")); 2643 2643 2644 LONG codes [2];2645 2644 CKeyboard keyboard = cconsole.GetKeyboard(); 2645 bool fSentRESEND = false; 2646 2646 2647 2647 // send a dummy scan code (RESEND) to prevent the guest OS from recognizing … … 2650 2650 // Note, that it's just a guess that sending RESEND will give the desired 2651 2651 // effect :), but at least it works with NT and W2k guests. 2652 /** @todo This seems to causes linux guests (in console mode) to cough a bit. 2653 * We need to check if this is the cause of #1944 and/or #1949. --bird */ 2654 codes [0] = 0xFE; 2655 keyboard.PutScancodes (codes, 1); 2656 2652 2653 // @TODO Sending 0xFE is responsible for the warning 2654 // 2655 // ``atkbd.c: Spurious NAK on isa0060/serio0. Some program might 2656 // be trying access hardware directly'' 2657 // 2658 // on Linux guests (#1944). It might also be responsible for #1949. Don't 2659 // send this command unless we really have to release any key modifier. 2660 // --frank 2657 2661 for (uint i = 0; i < SIZEOF_ARRAY (keys_pressed); i++) 2658 2662 { 2659 2663 if (keys_pressed [i] & IsKeyPressed) 2660 2664 { 2665 if (!fSentRESEND) 2666 { 2667 keyboard.PutScancode (0xFE); 2668 fSentRESEND = true; 2669 } 2661 2670 keyboard.PutScancode (i | 0x80); 2662 2671 } 2663 2672 else if (keys_pressed [i] & IsExtKeyPressed) 2664 2673 { 2674 if (!fSentRESEND) 2675 { 2676 keyboard.PutScancode (0xFE); 2677 fSentRESEND = true; 2678 } 2679 LONG codes [2]; 2665 2680 codes[0] = 0xE0; 2666 2681 codes[1] = i | 0x80;
Note:
See TracChangeset
for help on using the changeset viewer.