So the basic problem is that in my event receiver, I have 2 if statements for events, key presses and gui button presses, however, only only the key press events are working, I have tried searching it up online, but the only solution I could find was to change "return true" to "return false", which didn't work, I also found something about doing 2 event receivers, but I did not understand it at all, and it should be unnecessary. Any help would be very much appreciated!
Your check for if (event.EventType == EET_GUI_EVENT) is inside the default: section of a switch for keys. And that switch is even inside a previous check if the eventType is a EET_KEY_INPUT_EVENT. So you need at least 2 closing brackes after your "default: return false". Currently all your gui code is never even called (as you return from the function immediately before that code... with the right settings your compiler should even warn you about unreachable code).
The code I put up before was the shortened version, so you didnt have to scroll through the repetitive steps taken in each case statement, But like I said before, In the actual program, where I didnt cut and paste specific sections, it works great, or at least it should, if you want, I can post the whole thing, but it is about 1500 lines of code, so I tried to simplify it
When your event-receiver get's to 1500 lines it's probably about time to put some stuff into other functions :-) The thing is - we can't see what's wrong. Checking for keys and gui is something pretty much every app does - there is usually no problem doing that. It has to be something in your code. Maybe start by making one function per event-type (gui, input) - then you can set a breakpoint in the gui and step through to see what's going on when you get a gui-event. Or if you get the button-click event at all.
Thats the thing, The Gui works on its own, but its only when I added the keys it messed up, removing the keys input restores the gui inputs, and I cant put a breakpoint for when I get a gui event beacuse after some testing I found that the gui event is not being received period, though the gui hover seems to trigger
Using the debugger isn't the only way to debug code. The first step is always to locate the problem - if you have 1500 lines in your eventreceiver then throw out 1490 of them. Keep the code for catching keys and gui events and check again. If it still fails you have a 10 line example to post. If it works now then start adding back your code until you get to the real problem.
I suppose it's obvious that we cannot help you debugging code without even seeing it. Only thing I can tell you is that gui and key events can both be checked in an eventreceiver - everyone is doing that - so the bug is very likely in your code.