shift dragger 1

add several funs to make dragger able to shift