zsviczian / obsidian-excalidraw-plugin

A plugin to edit and view Excalidraw drawings in Obsidian
4.13k stars 228 forks source link

Holding down ALT to duplicate/drag objects doesn't work (on linux) #748

Open thibaultmol opened 2 years ago

thibaultmol commented 2 years ago

Describe the bug When trying to duplicate/drag objects using the ALT key, nothing happens

To Reproduce Steps to reproduce the behavior:

  1. Open a new excalidraw drawing
  2. create an object
  3. hold down ALT and drag it
  4. nothing happens

Expected behavior Drag the object as the button is held down

Environment (please complete the following information): Operating System: Garuda Linux KDE Plasma Version: 5.25.4 KDE Frameworks Version: 5.97.0 Qt Version: 5.15.5 Kernel Version: 5.19.1-zen1-1-zen (64-bit) Graphics Platform: X11 Processors: 16 × AMD Ryzen 7 3700X 8-Core Processor Memory: 31,3 GiB of RAM Graphics Processor: NVIDIA GeForce GTX 1080/PCIe/SSE2

Additional context

zsviczian commented 2 years ago

Can you try adding the following code in developer console (CTRL+SHIFT+i) and let me know what the output is when you press the ALT button while working in Excalidraw?

window.addEventListener("keydown",(e)=>console.log(e))

After the test it will be probably best to restart Obsidian to get rid of the code.

This is the sort of output I am hoping to see: image

thibaultmol commented 2 years ago
KeyboardEvent {isTrusted: true, key: 'Alt', code: 'AltLeft', location: 1, ctrlKey: false, …}
isTrusted: true
altKey: true
bubbles: true
cancelBubble: false
cancelable: true
charCode: 0
code: "AltLeft"
composed: true
ctrlKey: false
currentTarget: null
defaultPrevented: false
detail: 0
eventPhase: 0
isComposing: false
key: "Alt"
keyCode: 18
location: 1
metaKey: false
path: (13) [div.excalidraw.excalidraw-container.excalidraw--mobile.theme--dark, div.excalidraw-wrapper, div.view-content.excalidraw-view, div.workspace-leaf-content.node-insert-event, div.workspace-leaf.mod-active, div.workspace-split.mod-vertical.mod-root, div.workspace, div.horizontal-main-container, div.app-container, body.theme-dark.is-frameless.mod-linux, html, document, global]
repeat: false
returnValue: true
shiftKey: false
sourceCapabilities: InputDeviceCapabilities {firesTouchEvents: false}
srcElement: div.excalidraw.excalidraw-container.excalidraw--mobile.theme--dark
target: div.excalidraw.excalidraw-container.excalidraw--mobile.theme--dark
timeStamp: 79373528.4
type: "keydown"
view: global {0: Window, window: global, self: global, document: document, name: '', location: Location, …}
which: 18
doc: (...)
targetNode: (...)
win: (...)
[[Prototype]]: KeyboardEvent

That seems to work yeah