func (c *Input) DispatchMouseEvent(theType string, x float64, y float64, modifiers int, timestamp float64, button string, buttons int, clickCount int, deltaX float64, deltaY float64, pointerType string) (*gcdmessage.ChromeResponse, error) {
	var v InputDispatchMouseEventParams
	v.TheType = theType
	v.X = x
	v.Y = y
	v.Modifiers = modifiers
	v.Timestamp = timestamp
	v.Button = button
	v.Buttons = buttons
	v.ClickCount = clickCount
	v.DeltaX = deltaX
	v.DeltaY = deltaY
	v.PointerType = pointerType
	return c.DispatchMouseEventWithParams(&v)
}
DispatchMouseEvent - Dispatches a mouse event to the page.
type - Type of the mouse event.
x - X coordinate of the event relative to the main frame's viewport in CSS pixels.
y - Y coordinate of the event relative to the main frame's viewport in CSS pixels. 0 refers to the top of the viewport and Y increases as it proceeds towards the bottom of the viewport.
modifiers - Bit field representing pressed modifier keys. Alt=1, Ctrl=2, Meta/Command=4, Shift=8 (default: 0).
timestamp - Time at which the event occurred.
button - Mouse button (default: "none"). enum values: none, left, middle, right, back, forward
buttons - A number indicating which buttons are pressed on the mouse when a mouse event is triggered. Left=1, Right=2, Middle=4, Back=8, Forward=16, None=0.
clickCount - Number of times the mouse button was clicked (default: 0).
deltaX - X delta in CSS pixels for mouse wheel event (default: 0).
deltaY - Y delta in CSS pixels for mouse wheel event (default: 0).
pointerType - Pointer type (default: "mouse").
package gcdapi
import (
	"github.com/wirepair/gcd/gcdmessage"
)
type InputTouchPoint struct {
	X             float64 `json:"x"`                        
	Y             float64 `json:"y"`                        
	RadiusX       float64 `json:"radiusX,omitempty"`        
	RadiusY       float64 `json:"radiusY,omitempty"`        
	RotationAngle float64 `json:"rotationAngle,omitempty"`  
	Force         float64 `json:"force,omitempty"`          
	Id            float64 `json:"id,omitempty"`             
}
type Input struct {
	target gcdmessage.ChromeTargeter
}
func NewInput(target gcdmessage.ChromeTargeter) *Input {
	c := &Input{target: target}
	return c
}
type InputDispatchKeyEventParams struct {
	TheType string `json:"type"`
	Modifiers int `json:"modifiers,omitempty"`
	Timestamp float64 `json:"timestamp,omitempty"`
	Text string `json:"text,omitempty"`
	UnmodifiedText string `json:"unmodifiedText,omitempty"`
	KeyIdentifier string `json:"keyIdentifier,omitempty"`
	Code string `json:"code,omitempty"`
	Key string `json:"key,omitempty"`
	WindowsVirtualKeyCode int `json:"windowsVirtualKeyCode,omitempty"`
	NativeVirtualKeyCode int `json:"nativeVirtualKeyCode,omitempty"`
	AutoRepeat bool `json:"autoRepeat,omitempty"`
	IsKeypad bool `json:"isKeypad,omitempty"`
	IsSystemKey bool `json:"isSystemKey,omitempty"`
	Location int `json:"location,omitempty"`
	Commands []string `json:"commands,omitempty"`
}
func (c *Input) DispatchKeyEventWithParams(v *InputDispatchKeyEventParams) (*gcdmessage.ChromeResponse, error) {
	return gcdmessage.SendDefaultRequest(c.target, c.target.GetSendCh(), &gcdmessage.ParamRequest{Id: c.target.GetId(), Method: "Input.dispatchKeyEvent", Params: v})
}
func (c *Input) DispatchKeyEvent(theType string, modifiers int, timestamp float64, text string, unmodifiedText string, keyIdentifier string, code string, key string, windowsVirtualKeyCode int, nativeVirtualKeyCode int, autoRepeat bool, isKeypad bool, isSystemKey bool, location int, commands []string) (*gcdmessage.ChromeResponse, error) {
	var v InputDispatchKeyEventParams
	v.TheType = theType
	v.Modifiers = modifiers
	v.Timestamp = timestamp
	v.Text = text
	v.UnmodifiedText = unmodifiedText
	v.KeyIdentifier = keyIdentifier
	v.Code = code
	v.Key = key
	v.WindowsVirtualKeyCode = windowsVirtualKeyCode
	v.NativeVirtualKeyCode = nativeVirtualKeyCode
	v.AutoRepeat = autoRepeat
	v.IsKeypad = isKeypad
	v.IsSystemKey = isSystemKey
	v.Location = location
	v.Commands = commands
	return c.DispatchKeyEventWithParams(&v)
}
type InputInsertTextParams struct {
	Text string `json:"text"`
}
func (c *Input) InsertTextWithParams(v *InputInsertTextParams) (*gcdmessage.ChromeResponse, error) {
	return gcdmessage.SendDefaultRequest(c.target, c.target.GetSendCh(), &gcdmessage.ParamRequest{Id: c.target.GetId(), Method: "Input.insertText", Params: v})
}
func (c *Input) InsertText(text string) (*gcdmessage.ChromeResponse, error) {
	var v InputInsertTextParams
	v.Text = text
	return c.InsertTextWithParams(&v)
}
type InputDispatchMouseEventParams struct {
	TheType string `json:"type"`
	X float64 `json:"x"`
	Y float64 `json:"y"`
	Modifiers int `json:"modifiers,omitempty"`
	Timestamp float64 `json:"timestamp,omitempty"`
	Button string `json:"button,omitempty"`
	Buttons int `json:"buttons,omitempty"`
	ClickCount int `json:"clickCount,omitempty"`
	DeltaX float64 `json:"deltaX,omitempty"`
	DeltaY float64 `json:"deltaY,omitempty"`
	PointerType string `json:"pointerType,omitempty"`
}
func (c *Input) DispatchMouseEventWithParams(v *InputDispatchMouseEventParams) (*gcdmessage.ChromeResponse, error) {
	return gcdmessage.SendDefaultRequest(c.target, c.target.GetSendCh(), &gcdmessage.ParamRequest{Id: c.target.GetId(), Method: "Input.dispatchMouseEvent", Params: v})
}