(本文仅用于本人学习记录,仅供参考)
耳机按键检测到动作后事件上报,涉及到输入子系统。
Input_report_key(cod3034x->input,jd->button,1) //向输入子系统报告产生按键事件
|-- input_event(dev,EV_KEY,code,!!value)
|-- is_event_supported(type,dev->evbit,EV_MAX)
|-- input_handle_event(dev,type,code,value)
|-- input_get_disposition(dev,type,code,&value)
|-- input_pass_values(dev,dev->vals,dev->num_vals)
|-- input_to_handler(handle,vals,count)
Input_sync(cod3034x->input);//通知接收者,一个报告发送完毕。
Static inline void Input_report_key(struct input_dev *dev,unsigned int code,int value)
{
input_event(dev,EV_KEY,code,!!value);
}
Input_report_key函数的参数1是产生事件的输入设备,参数2是产生的事件,参数3是事件的值。
注:C语言中的感叹号(!)是逻辑运算操作符