Update:

Ok messed up some of the scancode's. I can now send normal characters
by sending the reversed scancode with shiftout

For example : if i send 0x15 = 00010101, LSB first = 10101000 = "q" on screen, that's perfect. I tried other codes and they work also.

There was an error with the parity calculator also, so i skipped that ....

But now, i want to use Left-shift + q, which, when looking at the scancode
table this would be 0x12 for left shift, 0x15 for "q", 0xF0 for release, 0x15 for release "q" and 0xF0 and 0x12 for release left shift.

Doing this results in an F10 being received ??

Here's the code :
Code:
sendthis = %01001000 'left shift       
test = 1 'parity bit
gosub calsub
                         
sendthis = %10101000 'q 
test = 0
gosub calsub
                  
sendthis = %00001111 'Release       
test = 1
gosub calsub

sendthis = %10101000 'q
test = 0
gosub calsub

sendthis = %00001111 'Release 
test = 1
gosub calsub  
  
sendthis = %01001000 'left shift        
test = 1
gosub calsub
       
goto start       


calsub:
    sendthis = sendthis << 1 'move over to insert start bit  
    sendthis.0 = 0 'start bit
    sendthis.9 = test 'parity
    sendthis.10 = 1 'stop bit
    shiftout kbddata,kbdclk,1,[sendthis\11]
return
Best regards, UB