Refactor: XVNC_BUTTONS numbers correspond to X button numbers

This commit is contained in:
Dmitry Maksyoma 2022-10-14 00:24:59 +13:00
parent 7f0d08d4d3
commit 39856f8ee8
3 changed files with 19 additions and 12 deletions

View File

@ -274,6 +274,9 @@ const UI = {
return mouseButtonMapper;
}
mouseButtonMapper.set(0, XVNC_BUTTONS.LEFT_BUTTON);
mouseButtonMapper.set(1, XVNC_BUTTONS.MIDDLE_BUTTON);
mouseButtonMapper.set(2, XVNC_BUTTONS.RIGHT_BUTTON);
mouseButtonMapper.set(3, XVNC_BUTTONS.BACK_BUTTON);
mouseButtonMapper.set(4, XVNC_BUTTONS.FORWARD_BUTTON);
WebUtil.writeSetting("mouseButtonMapper", mouseButtonMapper.dump());

View File

@ -1,15 +1,19 @@
export const XVNC_BUTTONS = {
LEFT_BUTTON: 0,
MIDDLE_BUTTON: 1,
RIGHT_BUTTON: 2,
TURN_SCROLL_WHEEL_UP: 3,
TURN_SCROLL_WHEEL_DOWN: 4,
PUSH_SCROLL_WHEEL_LEFT: 5,
PUSH_SCROLL_WHEEL_RIGHT: 6,
BACK_BUTTON: 7,
FORWARD_BUTTON: 8
LEFT_BUTTON: 1,
MIDDLE_BUTTON: 2,
RIGHT_BUTTON: 3,
TURN_SCROLL_WHEEL_UP: 4,
TURN_SCROLL_WHEEL_DOWN: 5,
PUSH_SCROLL_WHEEL_LEFT: 6,
PUSH_SCROLL_WHEEL_RIGHT: 7,
BACK_BUTTON: 8,
FORWARD_BUTTON: 9
};
export function xvncButtonToMask(xvncButton) {
return 1 << (xvncButton - 1);
}
export default class MouseButtonMapper {
constructor() {
this.map = new Map();

View File

@ -26,7 +26,7 @@ import DES from "./des.js";
import KeyTable from "./input/keysym.js";
import XtScancode from "./input/xtscancodes.js";
import { encodings } from "./encodings.js";
import MouseButtonMapper from "./mousebuttonmapper.js";
import { MouseButtonMapper, xvncButtonToMask } from "./mousebuttonmapper.js";
import RawDecoder from "./decoders/raw.js";
import CopyRectDecoder from "./decoders/copyrect.js";
@ -1578,11 +1578,11 @@ export default class RFB extends EventTargetMixin {
this.checkLocalClipboard();
this._handleMouseButton(pos.x, pos.y,
true, 1 << mappedButton);
true, xvncButtonToMask(mappedButton));
break;
case 'mouseup':
this._handleMouseButton(pos.x, pos.y,
false, 1 << mappedButton);
false, xvncButtonToMask(mappedButton));
break;
case 'mousemove':
this._handleMouseMove(pos.x, pos.y);