From 04c1c925e8444e2b662f9ae9ff79cac2b3e3d843 Mon Sep 17 00:00:00 2001 From: Pavel Date: Thu, 10 Oct 2019 18:05:26 +0200 Subject: [PATCH] improve coordinates accuracy --- fx92-programmer.py | 94 +++++++++++++++++++++++----------------------- 1 file changed, 47 insertions(+), 47 deletions(-) diff --git a/fx92-programmer.py b/fx92-programmer.py index d758df9..25aadb9 100644 --- a/fx92-programmer.py +++ b/fx92-programmer.py @@ -4,64 +4,64 @@ import win32con import win32gui coordinates = { - 'shift': (60, 250), - 'alpha': (95, 250), - 'menu': (225, 250), + 'shift': (62, 251), + 'alpha': (97, 251), + 'menu': (226, 251), - 'up': (160, 250), - 'down': (160, 290), - 'left': (125, 270), - 'right': (195, 270), + 'up': (161, 249), + 'down': (161, 287), + 'left': (131, 268), + 'right': (192, 268), - 'optn': (60, 300), - '^2': (100, 300), - '^3': (220, 300), - '^': (260, 300), + 'optn': (64, 297), + '^2': (103, 297), + '^3': (220, 297), + '^': (259, 297), - 'calc': (60, 332), - 'y': (100, 332), - '=': (140, 332), - 'x': (180, 332), - 'log': (220, 332), - 'ln': (260, 332), + 'calc': (64, 330), + 'y': (103, 330), + '=': (142, 330), + 'x': (181, 330), + 'log': (220, 330), + 'ln': (259, 330), - 'simp': (60, 364), - 'rem': (100, 364), - 'frac': (140, 364), - 'sin': (180, 364), - 'cos': (220, 364), - 'tan': (260, 364), + 'simp': (64, 363), + 'rem': (103, 363), + 'frac': (142, 363), + 'sin': (181, 363), + 'cos': (220, 363), + 'tan': (259, 363), - 'sto': (60, 396), - 'deg': (100, 396), - '(': (140, 396), - ')': (180, 396), + 'sto': (64, 396), + 'deg': (103, 396), + '(': (142, 396), + ')': (181, 396), 'sd': (220, 396), - 'm+': (260, 396), + 'm+': (259, 396), - '7': (70, 435), + '7': (69, 435), '8': (115, 435), - '9': (160, 435), - 'del': (205, 435), - 'ac': (250, 435), + '9': (162, 435), + 'del': (209, 435), + 'ac': (255, 435), - '4': (70, 475), + '4': (69, 475), '5': (115, 475), - '6': (160, 475), - '*': (205, 475), - '/': (250, 475), + '6': (162, 475), + '*': (209, 475), + '/': (255, 475), - '1': (70, 515), + '1': (69, 515), '2': (115, 515), - '3': (160, 515), - '+': (205, 515), - '-': (250, 515), + '3': (162, 515), + '+': (209, 515), + '-': (255, 515), - '0': (70, 555), + '0': (69, 555), ',': (115, 555), - '10^': (160, 555), - 'ans': (205, 555), - 'exe': (250, 555) + '10^': (162, 555), + 'ans': (209, 555), + 'exe': (255, 555) } commands = { @@ -177,10 +177,10 @@ def callback(hwnd, windows): def process(hwnd, sequence): for element in sequence: p = win32gui.GetWindowRect(hwnd) - w = p[2] - p[0] - h = p[3] - p[1] - 70 + w = p[2] - p[0] - 8 + h = p[3] - p[1] - 76 p = coordinates[element] - tmp = win32api.MAKELONG(p[0] * w // 330, 30 + p[1] * h // 631) + tmp = win32api.MAKELONG(p[0] * w // 322, 30 + p[1] * h // 625) win32api.SendMessage(hwnd, win32con.WM_LBUTTONDOWN, win32con.MK_LBUTTON, tmp) win32api.SendMessage(hwnd, win32con.WM_LBUTTONUP, win32con.MK_LBUTTON, tmp) win32api.Sleep(100)