add g-key, g-input, g-dispatch