Sorry about the slow reply, I keep writing it up then not finishing it xP
GetKeyState works if you check the bit state or some shenanigans correctly. Use
Code:
if((GetKeyState(KEY) & 0x80) == 1){}
to see if a key is pressed. It's the only thing I use for my macros, and it works fine.
And by "switch it up", I mean like if you have a block of code that looks like
Code:
if(GetAsyncKeyState(KEY)){ do_stuff } if(GetAsyncKeyState(OTHER_KEY)){ do_other_stuff}
Simply switching the call order to like
Code:
if(GetAsyncKeyState(OTHER_KEY)){ do_other_stuff } if(GetAsyncKeyState(KEY)){ do_stuff}
Might make it undetected. XIGNCode is pretty bad (in my opinion, other people would disagree), so sometimes something as simple as that will fix your problems. If it doesn't, you can change the call order more drastically, or convolute it in other ways (calling dummy functions that just do nothing has worked before for me, but I try to avoid those because it makes the source a little confusing).