diff --git a/lib/sublime-select.coffee b/lib/sublime-select.coffee index 55d3d8a..b9534b3 100644 --- a/lib/sublime-select.coffee +++ b/lib/sublime-select.coffee @@ -102,6 +102,14 @@ module.exports = if e.which == 0 resetState() + onKeyDown = (e) -> + if e['keyIdentifier'] == inputCfg.selectKeyName and e['type'] == 'keydown' + editorElement.shadowRoot.querySelector('.lines').style.cursor = 'crosshair' + + onKeyUp = (e) -> + if e['keyIdentifier'] == inputCfg.selectKeyName and e['type'] == 'keyup' + editorElement.shadowRoot.querySelector('.lines').style.cursor = '' + # Hijack all the mouse events while selecting hijackMouseEvent = (e) -> if mouseStartPos @@ -121,7 +129,7 @@ module.exports = _screenPositionForMouseEvent = (e) -> if editorComponent is null editorComponent = atom.views.getView(editor).component - + pixelPosition = editorComponent.pixelPositionForMouseEvent(e) targetTop = pixelPosition.top targetLeft = pixelPosition.left @@ -137,9 +145,6 @@ module.exports = _mainMouseDown = (e) -> e.which is inputCfg.mouseNum - _keyDown = (e) -> - e[inputCfg.selectKey] - _mainMouseAndKeyDown = (e) -> _mainMouseDown(e) and e[inputCfg.selectKey] @@ -169,6 +174,8 @@ module.exports = editor.onDidChangeSelectionRange onRangeChange editorElement.onmousedown = onMouseDown editorElement.onmousemove = onMouseMove + editorElement.onkeydown = onKeyDown + editorElement.onkeyup = onKeyUp editorElement.onmouseup = hijackMouseEvent editorElement.onmouseleave = hijackMouseEvent editorElement.onmouseenter = hijackMouseEvent