|
@@ -1469,6 +1469,18 @@ void laRemoveCustomSignal(laCustomSignal* cs){
|
|
|
strSafeDestroy(&cs->Name); lstRemoveItem(&MAIN.CustomSignals,cs); memFree(cs);
|
|
|
}
|
|
|
|
|
|
+void la_SendSignalsFromEvent(laEvent* e){
|
|
|
+ laInputMapping* im = MAIN.InputMapping->CurrentInputMapping;
|
|
|
+ if(!im){return;}
|
|
|
+ for(laInputMappingEntry* ime = im->Entries.pFirst;ime;ime=ime->Item.pNext){
|
|
|
+ if(e->type==LA_KEY_DOWN && ime->DeviceType == LA_INPUT_DEVICE_KEYBOARD){
|
|
|
+ if(e->key == ime->KeyValue && e->SpecialKeyBit == ime->SpecialKeyBits){
|
|
|
+ la_SendSignalEvent(e->window->win,ime->SignalValue);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
//MSG====================================================
|
|
|
|
|
|
int la_IsThisSysWindow(laWindow *wnd, SYSWINDOW hwnd){
|
|
@@ -1719,6 +1731,12 @@ void la_SendTimerEvent(SYSWINDOW hwnd, int type){
|
|
|
e->type = type;
|
|
|
la_SaveEvent(hwnd, e, 1);
|
|
|
};
|
|
|
+void la_SendSignalEvent(SYSWINDOW* hwnd, int signal){
|
|
|
+ laEvent *e = memAcquireSimple(sizeof(laEvent));
|
|
|
+ e->type = LA_SIGNAL_EVENT;
|
|
|
+ e->key = signal;
|
|
|
+ la_SaveEvent(hwnd, e, 1);
|
|
|
+};
|
|
|
void laRetriggerOperators(){
|
|
|
MAIN.ReTriggerOperators = 1;
|
|
|
}
|
|
@@ -7385,6 +7403,8 @@ int la_HandleSingleEvent(laEvent *e, laListHandle *Operators){
|
|
|
int Result = 0;
|
|
|
laConfirmData *ConfirmData = 0, *NextConfirmData = 0;
|
|
|
|
|
|
+ la_SendSignalsFromEvent(e);
|
|
|
+
|
|
|
if(MAIN.InputProcess){ MAIN.CurrentInputEvent=e; MAIN.InputProcess(e); MAIN.CurrentInputEvent=0; }
|
|
|
|
|
|
a = Operators->pFirst;
|