summaryrefslogtreecommitdiff
path: root/src/gui/fpg_edit.pas
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/fpg_edit.pas')
-rw-r--r--src/gui/fpg_edit.pas33
1 files changed, 30 insertions, 3 deletions
diff --git a/src/gui/fpg_edit.pas b/src/gui/fpg_edit.pas
index 21e6895e..01c52d4c 100644
--- a/src/gui/fpg_edit.pas
+++ b/src/gui/fpg_edit.pas
@@ -758,7 +758,34 @@ begin
prevval := Text;
if FDeadKeyChar> -1 then
begin
- AText:= UseDeadKey(AText, FDeadKeyChar);
+ case FDeadKeyChar of
+ keyDeadDiaeresis:
+ case AText of
+ 'a':
+ AText:= 'â';
+ 'e':
+ AText:= 'ë';
+ 'i':
+ AText:= 'ï';
+ 'o':
+ AText:= 'ö';
+ 'u':
+ AText:= 'ü';
+ end;
+ keyDeadCircumflex:
+ case AText of
+ 'a':
+ AText:= 'â';
+ 'e':
+ AText:= 'ê';
+ 'i':
+ AText:= 'î';
+ 'o':
+ AText:= 'ô';
+ 'u':
+ AText:= 'û';
+ end;
+ end;
FDeadKeyChar:= -1;
end;
s := AText;
@@ -804,8 +831,8 @@ begin
hasChanged := False;
fpgApplication.HideHint;
- if FDeadKeyChar = -1 then
- FDeadKeyChar:= ReadDeadKey(keycode);
+ if (keycode= keyDeadCircumflex) or (keycode= keyDeadDiaeresis) then
+ FDeadKeyChar:= keycode;
Consumed := True;
case CheckClipBoardKey(keycode, shiftstate) of