Author: hbelusca Date: Sat Jun 29 20:22:36 2013 New Revision: 59373 URL: http://svn.reactos.org/svn/reactos?rev=59373&view=rev Log: [FREELDR] Fix extended and control characters handling in text-boxes. We don't show anymore strange characters when pressing on, e.g. up or down arrows anymore. Also, fix uppercase 'o' character (which has the same scan code but is not an extended key, as the End key). The culprit revision which introduced this bug is r58658.
CORE-7323 #resolve #comment The uppercase 'o' problem is fixed in revision r59373. Thanks for your report :) Modified: trunk/reactos/boot/freeldr/freeldr/ui/tui.c Modified: trunk/reactos/boot/freeldr/freeldr/ui/tui.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/ui/tui.c?rev=59373&r1=59372&r2=59373&view=diff ============================================================================== --- trunk/reactos/boot/freeldr/freeldr/ui/tui.c [iso-8859-1] (original) +++ trunk/reactos/boot/freeldr/freeldr/ui/tui.c [iso-8859-1] Sat Jun 29 20:22:36 2013 @@ -952,29 +952,29 @@ MachBeep(); } } - else if (key == KEY_HOME) // Go to the start of the buffer + else if (Extended && key == KEY_HOME) // Go to the start of the buffer { EditBoxTextPosition = 0; } - else if (key == KEY_END) // Go to the end of the buffer + else if (Extended && key == KEY_END) // Go to the end of the buffer { EditBoxTextPosition = EditBoxTextLength; } - else if (key == KEY_RIGHT) // Go right + else if (Extended && key == KEY_RIGHT) // Go right { if (EditBoxTextPosition < EditBoxTextLength) EditBoxTextPosition++; else MachBeep(); } - else if (key == KEY_LEFT) // Go left + else if (Extended && key == KEY_LEFT) // Go left { if (EditBoxTextPosition > 0) EditBoxTextPosition--; else MachBeep(); } - else // Add this key to the buffer + else if (!Extended) // Add this key to the buffer { if ( (EditBoxTextLength < Length - 1) && (EditBoxTextPosition < Length - 1) ) @@ -991,6 +991,10 @@ { MachBeep(); } + } + else + { + MachBeep(); } }