There's no decent solution for it. The only practical way that this will ever work is if Khaled adds $rawmsg to the input event.

Here's a scripted 'solution', although I have no clue just how well it works on other systems (it's possible the key sending stuff might not register in time for the timer on some computers).

Code:
on *:input:*:{
  sendkeys {UP}
  .timer -m 1 0 var $+(%,r) $(|) !.echo -q $!regsub($editbox( $target ),/(\x20(?=\x20))/g,$+($chr(32),),%r) $(|) .signal rawinput $replace($target,$chr(32),$cr) $ctrlenter $+(%,r) $(|) sendkeys {DOWN}
}

on *:signal:rawinput:{
  [color:blue]; $replace($1,$cr,$chr(32) contains ON INPUT's $target value[/color]
  [color:blue]; $2 contains ON INPUT's $ctrlenter value[/color]
  [color:blue]; $3- will contain ON INPUT's $1- value but will retain spaces (they've been padded with control codes)[/color]
  [color:red]; YOUR CODE HERE[/color]
}

alias sendkeys {
  var %obj = $+(sk, $ticks)
  .comopen %obj WScript.Shell
  .comclose %obj $com(%obj, SendKeys, 3, *bstr, $1-)
}


Just use the RAWINPUT signal event instead of on INPUT for your code.

Last edited by starbucks_mafia; 22/08/04 01:26 PM.