Ich würde keine Radiobuttons verwenden, sondern den Zustand in einem "NichtWincontrol" darstellen. Bei Dir dürften die automatischen &x selectionen kollidieren mit mit den KeyDownroutinen des Elementes welches gerade den Focus hat und dessen welches durch &x gewählt wird. Wenn Du bei RadioButtons bleiben willst würde ich die &'s aus den Captions entfernen und den Code eindampfen auf:
Delphi-Quellcode:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
RadioButton1.Checked := key='w';
RadioButton2.Checked := key='a';
RadioButton3.Checked := key='s';
RadioButton4.Checked := key='d';
end;
procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
RadioButton5.Checked :=true;
end;