Keyboard callback or mouse callback

Hi all,
I move object with function:

import System.Drawing.Color
import Rhino
import rhinoscriptsyntax as rs

def move():
    rc, objref = Rhino.Input.RhinoGet.GetOneObject("object", False, Rhino.DocObjects.ObjectType.AnyObject)
    obj = objref.Object()
    objs = rs.coercebrep(objref)
    pt_start = Rhino.Geometry.VolumeMassProperties.Compute(objs).Centroid
    def GetPointDynamicDrawFunc(sender, args): 
        vect=args.CurrentPoint - pt_start        
        translation=Rhino.Geometry.Transform.Translation(vect)
        args.Display.DrawObject(obj,translation) 
    gp = Rhino.Input.Custom.GetPoint()
    gp.DynamicDraw += GetPointDynamicDrawFunc
    gp.Get()   
    pt = gp.Point() 
    ve = pt - pt_start
    rs.MoveObject(objref,ve)

if( __name__ == "__main__" ):
    move()

And I want to scale or rotate object by keyboard during move object.
Cant any one give some ideas to me ?

Sorry for my English skill.

Thinks all.

i very need it,too.
anybody can give some ideas? thanks

You can tell your GetPoint class that it can accept numbers
http://4.rhino3d.com/5/rhinocommon/html/M_Rhino_Input_Custom_GetBaseClass_AcceptNumber.htm

Look at the result from the gp.Get() function call. If the result is a GetResult.Number, then call the Number function and see what the value is.