Don't know what really is troubling you, as here it works correctly:
sync on
sync rate 60
phy start
make object cube 1,10
phy make rigid body dynamic box 1
phy set rigid body kinematic 1,1
do
if upkey() = 1 then f = f + 1
if downkey() = 1 then f = f - 1
if rightkey() = 1 then g = g - 1
if leftkey() = 1 then g = g + 1
PHY SET RIGID BODY KINEMATIC ROTATION 1,f,g,0
phy update
sync
loop
Could you be more specific on what the problem is?
Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.