mirror of
https://github.com/Ttanasart-pt/Pixel-Composer.git
synced 2025-02-22 18:05:42 +01:00
Hotkey now trigger on key down instead of key press (This should allow macro, input injection to work).
This commit is contained in:
parent
a2382a42cc
commit
edef7d188d
9 changed files with 26 additions and 16 deletions
Binary file not shown.
Binary file not shown.
|
@ -59,10 +59,6 @@
|
||||||
|
|
||||||
panelInit();
|
panelInit();
|
||||||
|
|
||||||
globalvar HOTKEY_MOD, HOTKEY_BLOCK;
|
|
||||||
HOTKEY_MOD = 0;
|
|
||||||
HOTKEY_BLOCK = false;
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Loader
|
#region Loader
|
||||||
|
|
|
@ -7,6 +7,7 @@ if(kb_hkey <= 0 && PREFERENCES.keyboard_check_sweep) for(var i = 2; i < 320; i++
|
||||||
|
|
||||||
kb_time = 0;
|
kb_time = 0;
|
||||||
kb_hold = false;
|
kb_hold = false;
|
||||||
|
|
||||||
KEYBOARD_PRESSED = kb_hkey;
|
KEYBOARD_PRESSED = kb_hkey;
|
||||||
|
|
||||||
if(!PREFERENCES.keyboard_capture_raw) {
|
if(!PREFERENCES.keyboard_capture_raw) {
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
/// @description
|
/// @description
|
||||||
kb_time = 0;
|
kb_time = 0;
|
||||||
kb_hold = false;
|
kb_hold = false;
|
||||||
|
kb_hkey = vk_nokey;
|
||||||
keyboard_lastchar = "";
|
keyboard_lastchar = "";
|
||||||
|
|
||||||
kb_hkey = vk_nokey;
|
KEYBOARD_PRESSED = vk_nokey;
|
||||||
KEYBOARD_PRESSED = vk_nokey;
|
HOTKEY_ACT = false;
|
|
@ -24,30 +24,37 @@ if(!LOADING && PROJECT.active && !PROJECT.safeMode) { //node step
|
||||||
}
|
}
|
||||||
|
|
||||||
#region hotkey
|
#region hotkey
|
||||||
|
|
||||||
if(!HOTKEY_BLOCK) {
|
if(!HOTKEY_BLOCK) {
|
||||||
|
var _action = false;
|
||||||
|
|
||||||
if(struct_has(HOTKEYS, 0)) {
|
if(!HOTKEY_ACT && struct_has(HOTKEYS, 0)) {
|
||||||
var l = HOTKEYS[$ 0];
|
var l = HOTKEYS[$ 0];
|
||||||
for(var i = 0, n = ds_list_size(l); i < n; i++) {
|
for(var i = 0, n = ds_list_size(l); i < n; i++) {
|
||||||
var hotkey = l[| i];
|
var hotkey = l[| i];
|
||||||
if(hotkey.key == 0 && hotkey.modi == MOD_KEY.none) continue;
|
if(hotkey.key == 0 && hotkey.modi == MOD_KEY.none) continue;
|
||||||
|
|
||||||
if(key_press(hotkey.key, hotkey.modi))
|
if(key_press(hotkey.key, hotkey.modi, true)) {
|
||||||
hotkey.action();
|
hotkey.action();
|
||||||
|
_action |= hotkey.key != noone;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(struct_has(HOTKEYS, FOCUS_STR)) {
|
if(!HOTKEY_ACT && struct_has(HOTKEYS, FOCUS_STR)) {
|
||||||
var list = HOTKEYS[$ FOCUS_STR];
|
var list = HOTKEYS[$ FOCUS_STR];
|
||||||
for(var i = 0, n = ds_list_size(list); i < n; i++) {
|
for(var i = 0, n = ds_list_size(list); i < n; i++) {
|
||||||
var hotkey = list[| i];
|
var hotkey = list[| i];
|
||||||
if(hotkey.key == 0 && hotkey.modi == MOD_KEY.none) continue;
|
if(hotkey.key == 0 && hotkey.modi == MOD_KEY.none) continue;
|
||||||
|
|
||||||
if(key_press(hotkey.key, hotkey.modi))
|
if(key_press(hotkey.key, hotkey.modi, true)) {
|
||||||
hotkey.action();
|
hotkey.action();
|
||||||
|
_action |= hotkey.key != noone;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
HOTKEY_ACT |= _action;
|
||||||
}
|
}
|
||||||
|
|
||||||
HOTKEY_BLOCK = false;
|
HOTKEY_BLOCK = false;
|
||||||
|
|
|
@ -41,10 +41,10 @@
|
||||||
globalvar HOTKEYS, HOTKEY_CONTEXT;
|
globalvar HOTKEYS, HOTKEY_CONTEXT;
|
||||||
|
|
||||||
LATEST_VERSION = 1_18_00_0;
|
LATEST_VERSION = 1_18_00_0;
|
||||||
VERSION = 1_18_07_2;
|
VERSION = 1_18_08_0;
|
||||||
SAVE_VERSION = 1_18_05_0;
|
SAVE_VERSION = 1_18_05_0;
|
||||||
VERSION_STRING = MAC? "1.18.003m" : "1.18.8";
|
VERSION_STRING = MAC? "1.18.003m" : "1.18.8.1.001";
|
||||||
BUILD_NUMBER = 118072.011;
|
BUILD_NUMBER = 118080.001;
|
||||||
PREF_VERSION = 1_17_1;
|
PREF_VERSION = 1_17_1;
|
||||||
|
|
||||||
var _vsp = string_split(VERSION_STRING, ".");
|
var _vsp = string_split(VERSION_STRING, ".");
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
#region key map
|
#region key map
|
||||||
|
globalvar HOTKEY_MOD, HOTKEY_BLOCK, HOTKEY_ACT;
|
||||||
|
HOTKEY_MOD = 0;
|
||||||
|
HOTKEY_BLOCK = false;
|
||||||
|
HOTKEY_ACT = false;
|
||||||
|
|
||||||
enum MOD_KEY {
|
enum MOD_KEY {
|
||||||
none = 0,
|
none = 0,
|
||||||
ctrl = 1 << 0,
|
ctrl = 1 << 0,
|
||||||
|
@ -167,7 +172,7 @@
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
function key_press(_key, _mod = MOD_KEY.none) {
|
function key_press(_key, _mod = MOD_KEY.none, _hold = false) {
|
||||||
if(WIDGET_CURRENT) return false;
|
if(WIDGET_CURRENT) return false;
|
||||||
if(_mod == MOD_KEY.none && _key == noone) return false;
|
if(_mod == MOD_KEY.none && _key == noone) return false;
|
||||||
|
|
||||||
|
@ -178,7 +183,7 @@ function key_press(_key, _mod = MOD_KEY.none) {
|
||||||
case KEY_GROUP.numeric : _keyPress = keyboard_key >= ord("0") && keyboard_key <= ord("9") break;
|
case KEY_GROUP.numeric : _keyPress = keyboard_key >= ord("0") && keyboard_key <= ord("9") break;
|
||||||
|
|
||||||
case noone : _keyPress = true; break;
|
case noone : _keyPress = true; break;
|
||||||
default : _keyPress = keyboard_check_pressed(_key); break;
|
default : _keyPress = _hold? keyboard_check(_key) : keyboard_check_pressed(_key); break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return _keyPress && _modPress;
|
return _keyPress && _modPress;
|
||||||
|
|
|
@ -5,7 +5,7 @@ function Node_Path_Reverse(_x, _y, _group = noone) : Node_Processor(_x, _y, _gro
|
||||||
newInput(0, nodeValue_PathNode("Path", self, noone))
|
newInput(0, nodeValue_PathNode("Path", self, noone))
|
||||||
.setVisible(true, true);
|
.setVisible(true, true);
|
||||||
|
|
||||||
newOutput(0, nodeValue_Output("Path", self, VALUE_TYPE.pathnode, self));
|
newOutput(0, nodeValue_Output("Path", self, VALUE_TYPE.pathnode, noone));
|
||||||
|
|
||||||
function _reversePath() constructor {
|
function _reversePath() constructor {
|
||||||
curr_path = noone;
|
curr_path = noone;
|
||||||
|
|
Loading…
Add table
Reference in a new issue