http://blog.csdn.net/ouo555/article/details/44806837

1.屏幕显示顺时针旋转90度

lk 横屏logo,顺时针旋转90度显示修改
bootable/bootloader/lk/project/len6735_65u_vo.mk

BOOT_LOGO = wxganl  
MTK_LCM_PHYSICAL_ROTATION = 90 

framebuffer顺时针旋转90度的修改:

device/lentek/len6735_65u_vo/ProjectConfig.mk

MTK_LCM_PHYSICAL_ROTATION =   

2.触摸屏上报坐标映射

由于LCD显示旋转了90度,对应的触摸屏上报坐标的也需要重新进行映射:
sudo subl ./kernel-3.10/drivers/input/touchscreen/mediatek/GT9XX/focaltech_core.c中修改static int fts_report_value(struct ts_event *data)

            input_report_abs(tpd->dev, ABS_MT_POSITION_X, data->au16_x[i]);//delete by dh
            input_report_abs(tpd->dev, ABS_MT_POSITION_Y, data->au16_y[i]);//delete by dh
            touchs |= BIT(data->au8_finger_id[i]);
            data->touchs |= BIT(data->au8_finger_id[i]);

3.重力传感器方向修改

由于屏幕默认显示方向逆时针旋转90度,默认的重力传感器的方向也需要对应修改:kernel-3.10/drivers/misc/mediatek/mach/mt6735/len6735_65u_vo/accelerometer/mc3xxx_auto/mc3xxx_cust_acc.c

static struct acc_hw mc3xxx_cust_acc_hw = {
.i2c_num = ,
//.direction = 4,
.direction = ,
.power_id = MT65XX_POWER_NONE, /*!< LDO is not used */
.power_vol= VOL_DEFAULT, /*!< LDO is not used */
.firlen = , //old value 16 /*!< don't enable low pass fileter */
.is_batch_supported = false,
};

4.默认屏幕方向设置

进入framework/base/services/core/java/com/android/server/wm/WindowMangerService.java

  修改int mRotation =  ;为:
int mRotation = ;

5、开机动画显示半屏的原因,也旋转90度

修改frameworks/native/services/surfaceflinger/DisplayDevice.cpp

setProjection(DisplayState::eOrientation90, mViewport, mFrame);

6.编译成功刷入系统会出现开机动画部分只显示3/4解决方案如下: 

进入framework/base/cmds/bootanimation/BootAnimation.cpp

修改status_t  BootAnimation::readyToRun函数中的
spcontrol=session()- >createsurface(String8("BootAnimation"),dinfo.w,dinfo.h.PIXEL_FORMAT_RGB_565);
为:
spcontrol=session()- >createsurface(String8"BootAnimation"),dinfo.h,dinfo.w.PIXEL_FORMAT_RGB_565);

进入/framework/native/services/surfaceflinger/DisplayDevice.cpp

修改函数 void DisplayDevice::setProjection(intorientation, conts Rect&newViewport,constRect&newFrame)中
if(!frame.isValid()){
frame = Rect(w,h);为:
frame = Rect(h,w);
}
 在Transform R;  下面添加
    orientation = DisplayState::eorientation90;
 

进入/framework/native/services/surfaceflinger/SurfaceFlinger.cpp

修改函数voidSurfaceFlinger::onInitializeDisplay()中:
d.orientation = DisplayState::eOrientationDefault ;为:
d.orientation=DisplayState::eOrientatio90;

 7.开机动画显示任然竖屏一会儿的问题

进入PhoneWindowManager.java文件 5993行修改默认返回值

 public class PhoneWindowManager implements WindowManagerPolicy {
if (preferredRotation >= ) {
return preferredRotation;
}
- return Surface.ROTATION_0;
+ return Surface.ROTATION_90;
}

MTK 屏幕旋转90度的更多相关文章

  1. QT5 屏幕旋转90度

    主要思路是将所有项目界面加载到QGraphicsScene,再进行旋转操作.直接上代码#include <QApplication>#include <QGraphicsView&g ...

  2. 关于android中调用系统拍照,返回图片是旋转90度

    转载博客:http://blog.csdn.net/walker02/article/details/8211628 项目开发中遇到的一个问题,对于三星手机在做手机照片选择时出现图片显示不正常,研究后 ...

  3. 移动端上传照片 预览+Draw on Canvas's Demo(解决 iOS 等设备照片旋转 90 度的 bug)

    背景: 本人的一个移动端H5项目,需求如下: 需求一:手机相册选取或拍摄照片后在页面上预览 需求二:然后绘制在canvas画布上 这里,我们先看一个demo(http://jsfiddle.net/q ...

  4. Recovery和Charger模式下屏幕旋转180度

    转自:http://www.etwiki.cn/android/1267.html 如何让Recovery (系统固件升级),charger(关机充电动画)时屏幕旋转180度 解决方法: 1.在boo ...

  5. 利用exif.js解决ios手机上传竖拍照片旋转90度问题

    html5+canvas进行移动端手机照片上传时,发现ios手机上传竖拍照片会逆时针旋转90度,横拍照片无此问题:Android手机没这个问题. 因此解决这个问题的思路是:获取到照片拍摄的方向角,对非 ...

  6. Recovery和Charger模式下屏幕旋转180度[转]

    如何让Recovery (系统固件升级),charger(关机充电动画)时屏幕旋转180度 解决方法: 1.在bootable\recovery\minui\Graphics.c 文件找到gr_fli ...

  7. python-Day4-迭代器-yield异步处理--装饰器--斐波那契--递归--二分算法--二维数组旋转90度--正则表达式

    本节大纲 迭代器&生成器 装饰器  基本装饰器 多参数装饰器 递归 算法基础:二分查找.二维数组转换 正则表达式 常用模块学习 作业:计算器开发 实现加减乘除及拓号优先级解析 用户输入 1 - ...

  8. 解决ios手机上传竖拍照片旋转90度问题

    html5+canvas进行移动端手机照片上传时,发现ios手机上传竖拍照片会逆时针旋转90度,横拍照片无此问题:Android手机没这个问题. 因此解决这个问题的思路是:获取到照片拍摄的方向角,对非 ...

  9. PyOpenCV图像逆时针旋转90度

    warpAffine方法效果很搓,留下大片黑色区域. 使用flip和transpose可以实现逆时针旋转90度.先flip或先transpose均可. #coding:utf-8 import cv2 ...

随机推荐

  1. window 10系统怎样手动更改电脑的时间

    win10系统的电脑显示时间默认的是自动网络校时,也就是电脑的时间跟网络时间同步,那么win10系统怎样手动更改电脑时间呢? 点击电脑左下方的win图标,找到菜单里的[设置] 点击菜单里的[设置],弹 ...

  2. git配置SSH Key,上传本地代码至github

    git配置全局的name和email git config --global user.name "name" git config --global user.email &qu ...

  3. C#键盘事件处理父窗体子窗体

    :                             :                             MessageBox.Show(, , Keys.F1);            ...

  4. UE.getEditor('editor')

    <script type="text/javascript"> $().ready(function(){ var editor = document.getEleme ...

  5. [Java] Hashtable 源码简要分析

    Hashtable /HashMap / LinkedHashMap 概述 * Hashtable比较早,是线程安全的哈希映射表.内部采用Entry[]数组,每个Entry均可作为链表的头,用来解决冲 ...

  6. Cena评测系统在win10中测评cpp程序

    1.装了cena-0.8.1-20110710-setup.exe 2.打补丁:cena-0.8.2-patch.zip 3.菜单->工具->选项->编程语言   修改G++ (mi ...

  7. libmongoc关于\$pullAll和\$addToSet的一个使用问题记录

    问题描述及测试结果 在使用mongodb时,对一个document中的数组成员进行更新的时候,可以使用$pull $push $pop $addToSet $pullAll和$each $positi ...

  8. Effective Java 第三版——61. 基本类型优于装箱的基本类型

    Tips 书中的源代码地址:https://github.com/jbloch/effective-java-3e-source-code 注意,书中的有些代码里方法是基于Java 9 API中的,所 ...

  9. 设置tomcat 编译文件位置【转】

    问题: 将项目发布到tomcat时,发现tomcat的cclasses目录下无任何编译后的文件. 解决方法:设置MyEclipse的文件编译目录即可: http://my.oschina.net/u/ ...

  10. Python CBV和FBV

    ''' 说一下CBV(class+base+views)和FBV(function+base+views),我们之前Django 里写的都是FBV,今天看一下 CBV,也就是在我们的视图函数里写类 ' ...