Android触摸屏驱动屏幕翻转

项目中移植了Android触摸屏驱动,后来需要把屏幕翻转180度,此时触摸的坐标是没有适配的,修改以下代码即可:

frameworks/native/services/inputflinger/InputReader.cpp

void TouchInputMapper::configureSurface(nsecs_t when, bool* outResetNeeded) {

    int32_t oldDeviceMode = mDeviceMode;

    ……

    if (viewportChanged) {
        mViewport = newViewport;
            
        char buffer_orientation[PROP_VALUE_MAX];   
        memset(buffer_orientation, 0, sizeof(buffer_orientation));
        property_get("persist.sys.panel.flip", buffer_orientation, "0");    
        int cmpRet = atoi(buffer_orientation);        
        ALOGI("persist.sys.hwrotation~~~~~~~~~~~~~~~~~~~~~~~~~ = %d",cmpRet);    
        if (cmpRet == 0)    
        {        
            mViewport.orientation = DISPLAY_ORIENTATION_0;
        }  
        else if(cmpRet == 90)    
        {
            mViewport.orientation = DISPLAY_ORIENTATION_90;  
        }
        else if(cmpRet == 180)
        {
            mViewport.orientation = DISPLAY_ORIENTATION_180;  
        }
        else if(cmpRet == 270)
        {
            mViewport.orientation = DISPLAY_ORIENTATION_270;  
        }

        if (mDeviceMode == DEVICE_MODE_DIRECT || mDeviceMode == DEVICE_MODE_POINTER) {

……
 

转自: Android触摸屏驱动屏幕翻转

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值