@Peteabout mouse library you can see how to use CALL ABSOLUTE pointing to the string which brings ASSEMBLY code...
A magistral example is the CHESS program of the great Bob.... This code is in the packeage of the code travelling as examples into QB64 folder....as path
\programs\samples\thebob\chess
the file is Chessubs.bas, but on first you must create the images for that program by running the CHESS.BAS that is in the same folder!
As many of us know, code doesn't work well in QB64 for parsing error.... you can get error in calling that routine that uses CALL ABSOLUTE for parameters... and if you put the right number at the place of the variable that brings the number of service of Interrupt you get another error.... :-) parsing error that IMHO closes an open door for clever assembly programmers, and this is the cause because also CALL INTERRUPT is emulated... only for Mouse interrupt and only for few service...
Time ago both I both Ashish, for different ways, have made a QB64 version of Bob's programs and in different times we have posted these translation in QB64 on [abandoned, outdated and now likely malicious qb64 dot net website - don’t go there]
Some years ago in the library section of the [abandoned, outdated and now likely malicious qb64 dot net website - don’t go there] I posted a my library using CALL INTERRUPT for mouse and some services more than that implemented in QB64 as _Mouse...... but with the evolution of programming world, those more services are rare to use following the standard of programming and if someone needs them they can be built using the basic functions that are in QB64...
an example is the code posted some time on this forum to catch the mouse into a window... (please not see Inform example because it is wrong because it interfer with inner manager of mouse of Inform)
@BplusI think you're right saying that by PEEK and POKE (and more over INP and OUT) you can manage mouse in QBASIC
while IMHO in QB64 this is only theorically possible because also PEEK and POKE (and INP and OUT) are emulated...
but you have _MEM if you like to play with Assembly ;-)
but be careful for OS services and security programs.... a low level action is suspicious for guardians of OS!
IMHO if you need more power for your purposes you can use an exernal library as DLL (if you are clever in assembly or C or C++ you can make an your DLL) or if you need that your program runs only into an OS you can use API OS library!
Not only for mouse but also for driver for other kind of external hardware, see Pen (not implemented in QB64), tablet to draw or write by hand, scanner, fax or whatyouhavetomanage.
This is not the time of Far West DOS! You are not so free to manage and to use your machine as you desire!
But surfing under the API of an OS is not for all!
For example QB64 does this into managing the mouse but then it (QB64) looses the setting of OS for mouse... see if you invert mouse's input in the OS (right click for select and left click for menu floating).
Thanks to read and sorry for many words