From 0d8a66b57ee2600968ab3487cbbf144bbb585dfb Mon Sep 17 00:00:00 2001 From: Productive2 <48047721+Productive2@users.noreply.github.com> Date: Sat, 20 Feb 2021 21:38:56 +0100 Subject: [PATCH] use 64 bit int for keycodes on all platforms --- src/jale/keycodes.nim | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/jale/keycodes.nim b/src/jale/keycodes.nim index 71968f7..9ea8fcd 100644 --- a/src/jale/keycodes.nim +++ b/src/jale/keycodes.nim @@ -46,13 +46,13 @@ block: keysByName[name] = i keysById[i] = name -var escapeSeqs*: Table[int, JaleKeycode] +var escapeSeqs*: Table[uint64, JaleKeycode] proc defEscSeq(keys: seq[int], id: JaleKeycode) = - var result = 0 + var result: uint64 = 0'u64 for key in keys: result *= 256 - result += key + result += key.uint64 if escapeSeqs.hasKey(result): raise newException(Defect, "Duplicate escape sequence definition") escapeSeqs[result] = id @@ -159,14 +159,14 @@ block: defEscSeq(@[8], jkBackspace) proc getKey*: int = - var key: int = 0 + var key: uint64 = 0 while true: key *= 256 - key += int(uniGetChr()) + key += uniGetChr().uint64 if escapeSeqs.hasKey(key): if escapeSeqs[key] != jkContinue: - key = int(escapeSeqs[key]) + key = escapeSeqs[key].uint64 break else: break - return key + return key.int