From 943d5a89aa092c217b87af029875b9f421a3e7f8 Mon Sep 17 00:00:00 2001 From: Benjamin Nisker Date: Sun, 28 Feb 2021 04:42:04 +0100 Subject: [PATCH 1/3] Date: Sun, 28 Feb 2021 17:44:14 +0100 Subject: [PATCH 2/3] Fixed mask alignment issue --- src/main/python/constants.py | 1 + src/main/python/keyboard_widget.py | 12 +++++++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/main/python/constants.py b/src/main/python/constants.py index 45bddc5..556f5ef 100644 --- a/src/main/python/constants.py +++ b/src/main/python/constants.py @@ -12,3 +12,4 @@ ACTIVE_LAYER_BTN_STYLE = "border: 1px solid black; padding: 5px; background-colo KEYBOARD_WIDGET_PADDING = 5 KEYBOARD_WIDGET_MASK_PADDING = 3 +KEYBOARD_WIDGET_MASK_HEIGHT = 0.65 diff --git a/src/main/python/keyboard_widget.py b/src/main/python/keyboard_widget.py index 378d232..6ad5764 100644 --- a/src/main/python/keyboard_widget.py +++ b/src/main/python/keyboard_widget.py @@ -4,7 +4,7 @@ from PyQt5.QtGui import QPainter, QColor, QPainterPath, QTransform, QBrush, QPol from PyQt5.QtWidgets import QWidget, QToolTip, QApplication from PyQt5.QtCore import Qt, QSize, QRect, QPointF, pyqtSignal, QEvent, QRectF -from constants import KEY_SIZE_RATIO, KEY_SPACING_RATIO, KEYBOARD_WIDGET_PADDING, KEYBOARD_WIDGET_MASK_PADDING +from constants import KEY_SIZE_RATIO, KEY_SPACING_RATIO, KEYBOARD_WIDGET_PADDING, KEYBOARD_WIDGET_MASK_PADDING, KEYBOARD_WIDGET_MASK_HEIGHT class KeyWidget: @@ -48,7 +48,7 @@ class KeyWidget: self.w2 = size * self.desc.width2 - spacing self.h2 = size * self.desc.height2 - spacing - self.bbox = self.calculate_bbox(QRectF(self.x, self.y, self.w, self.h)) + self.bbox = self.calculate_bbox(self.rect) self.polygon = QPolygonF(self.bbox + [self.bbox[0]]) self.draw_path = self.calculate_draw_path() self.draw_path2 = self.calculate_draw_path2() @@ -56,9 +56,11 @@ class KeyWidget: # calculate areas where the inner keycode will be located # nonmask = outer (e.g. Rsft_T) # mask = inner (e.g. KC_A) - self.nonmask_rect = QRectF(self.x, self.y, self.w, self.h * (1 - 0.65)) - self.mask_rect = QRectF(self.x + KEYBOARD_WIDGET_MASK_PADDING, self.y + self.h * (1 - 0.65), - self.w - 2 * KEYBOARD_WIDGET_MASK_PADDING, self.h * 0.65 - KEYBOARD_WIDGET_MASK_PADDING) + self.nonmask_rect = QRectF(int(self.x), int(self.y), int(self.w), int(self.h * (1 - KEYBOARD_WIDGET_MASK_HEIGHT))) + self.mask_rect = QRectF(int(self.x + KEYBOARD_WIDGET_MASK_PADDING), + int(self.y) + int(self.h * (1 - KEYBOARD_WIDGET_MASK_HEIGHT)), + int(self.w - 2 * KEYBOARD_WIDGET_MASK_PADDING), + int(self.h * KEYBOARD_WIDGET_MASK_HEIGHT - KEYBOARD_WIDGET_MASK_PADDING) + 1) self.mask_bbox = self.calculate_bbox(self.mask_rect) self.mask_polygon = QPolygonF(self.mask_bbox + [self.mask_bbox[0]]) From 54aeafc964379d36dd8e965b6149d2f56158110d Mon Sep 17 00:00:00 2001 From: Benjamin Nisker Date: Fri, 26 Mar 2021 22:16:00 +0100 Subject: [PATCH 3/3] shortened line --- src/main/python/keyboard_widget.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/python/keyboard_widget.py b/src/main/python/keyboard_widget.py index 6ad5764..75e837a 100644 --- a/src/main/python/keyboard_widget.py +++ b/src/main/python/keyboard_widget.py @@ -56,11 +56,12 @@ class KeyWidget: # calculate areas where the inner keycode will be located # nonmask = outer (e.g. Rsft_T) # mask = inner (e.g. KC_A) - self.nonmask_rect = QRectF(int(self.x), int(self.y), int(self.w), int(self.h * (1 - KEYBOARD_WIDGET_MASK_HEIGHT))) + self.nonmask_rect = QRectF(int(self.x), int(self.y), + int(self.w), int(self.h * (1 - KEYBOARD_WIDGET_MASK_HEIGHT))) self.mask_rect = QRectF(int(self.x + KEYBOARD_WIDGET_MASK_PADDING), int(self.y) + int(self.h * (1 - KEYBOARD_WIDGET_MASK_HEIGHT)), int(self.w - 2 * KEYBOARD_WIDGET_MASK_PADDING), - int(self.h * KEYBOARD_WIDGET_MASK_HEIGHT - KEYBOARD_WIDGET_MASK_PADDING) + 1) + int(self.h * KEYBOARD_WIDGET_MASK_HEIGHT - KEYBOARD_WIDGET_MASK_PADDING)) self.mask_bbox = self.calculate_bbox(self.mask_rect) self.mask_polygon = QPolygonF(self.mask_bbox + [self.mask_bbox[0]])