在项目中遇到平板使用陀螺仪在横竖屏切换时,在竖屏的方向是反的。需要在竖屏方向上改变一下方向,查找内核,找到mma8653 驱动程序,driver/hwmon/mma8653.c ,找到mmac8653_work_func函数。
input_report_abs(mma8653->input,ABS_X, 0-acc.x);//在acc.x,accy.acc.z前面添加 正负号,即可改变加速度传感器方向。
input_report_abs(mma8653->input,ABS_Y, 0-acc.y);
input_report_abs(mma8653->input,ABS_Z, acc.z);
input_sync(mma8653->input);
如果想交换XY方向的话,我想大概只要改成如下(笔者由于时间原因,这个XY方向对换没能测试):
input_report_abs(mma8653->input,ABS_X, 0-acc.y)
input_report_abs(mma8653->input,ABS_Y, 0-acc.x);