Commit ec3ea9ad authored by Kevin Bracey's avatar Kevin Bracey
Browse files

Fix to hexadecimal character entry.

Detail:
  If an alphabetic key was a "simple" key (eg E on the UK layout), then it
  wouldn't work as a hex digit during hexadecimal keypad entry. This bug has
  been in since the start of hexadecimal entry, but only came to light when
  the Euro sign moved away from Alt+E.

Version 0.74. Tagged as 'IntKey-0_74'
parent c2f83047
......@@ -54,8 +54,6 @@
; LatinAm, Russia, Switzerland and Turkey; and Ctrl-Alt-F1/F2 use a callback.
; Also fixed Japan delete key to be special.
; 26-Aug-99 Software support for "FN" key.
; 28-Apr-00 FN key broke hexadecimal keypad entry - now fixed.
; 32-bit compatible.
;
GBLL PCDel ; option to have Delete key return &8B (Copy) instead
......@@ -1095,7 +1093,7 @@ ProcessUCS ROUT
ADD R2, R2, R4, LSL #2 ; R2 -> 36-byte entry for key
TST R7, #KBAlt_DigitsPresent
BNE CheckHexAtoF
BNE CheckHexAtoF_ucs
; select the correct Shift/Ctrl/Alt variant.
STRB R1, TempAction
......@@ -1244,16 +1242,25 @@ FunnyUCS
40 ADRHI R6, NowtReturn
MOV PC, R14
CheckHexAtoF
CheckHexAtoF_simple
LDR R4, [R0, #KVKeyTran]
ADD R4, R0, R4
LDRB R4, [R4, R2, LSL #2] ; get the base symbol for this key
B CheckHexAtoF_common
CheckHexAtoF_ucs
LDR R4, [R2, #0] ; get the base symbol for this key
B CheckHexAtoF_common
CheckHexAtoF_common
; We're doing something digitty - if it's hex we need to check for A-F.
; If it's not hex or A-F, we return immediately - it's not sensible to
; be outputting standard Alt symbols while doing a keypad sequence, although
; this is what pre 0.50 versions did.
LDRB R4, R0HexDigits ; are we doing hex?
TEQ R4, #0
LDRB R2, R0HexDigits ; are we doing hex?
TEQ R2, #0
MOVEQ PC, R14
LDR R4, [R2, #0] ; get the base symbol for this key
BIC R4, R4, #&20 ; upper case the codes that matter
CMP R4, #"A"
MOVLO PC, R14
......@@ -1335,6 +1342,9 @@ FNContinue
; R7 = pending alt type
PendingAltCode ROUT
TST R7, #KBAlt_DigitsPresent; is it because of keyboard selection?
BNE CheckHexAtoF_simple ; if so, then nip off to deal with it
TST R7, #KBAlt_AccentMask ; is it due to dead accent ?
MOVEQ PC, R14 ; no, then must be Alt down - any real Alts are
; special - simple keys return nothing.
......
......@@ -8,11 +8,11 @@
GBLS Module_FullVersion
GBLS Module_ApplicationDate2
GBLS Module_ApplicationDate4
Module_MajorVersion SETS "0.73"
Module_Version SETA 73
Module_MajorVersion SETS "0.74"
Module_Version SETA 74
Module_MinorVersion SETS ""
Module_Date SETS "21 Jun 2000"
Module_ApplicationDate2 SETS "21-Jun-00"
Module_ApplicationDate4 SETS "21-Jun-2000"
Module_FullVersion SETS "0.73"
Module_Date SETS "26 Jun 2000"
Module_ApplicationDate2 SETS "26-Jun-00"
Module_ApplicationDate4 SETS "26-Jun-2000"
Module_FullVersion SETS "0.74"
END
/* (0.73)
/* (0.74)
*
* This file is automatically maintained by srccommit, do not edit manually.
*
*/
#define Module_MajorVersion_CMHG 0.73
#define Module_MajorVersion_CMHG 0.74
#define Module_MinorVersion_CMHG
#define Module_Date_CMHG 21 Jun 2000
#define Module_Date_CMHG 26 Jun 2000
#define Module_MajorVersion "0.73"
#define Module_Version 73
#define Module_MajorVersion "0.74"
#define Module_Version 74
#define Module_MinorVersion ""
#define Module_Date "21 Jun 2000"
#define Module_Date "26 Jun 2000"
#define Module_ApplicationDate2 "21-Jun-00"
#define Module_ApplicationDate4 "21-Jun-2000"
#define Module_ApplicationDate2 "26-Jun-00"
#define Module_ApplicationDate4 "26-Jun-2000"
#define Module_FullVersion "0.73"
#define Module_FullVersion "0.74"
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment