该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

最近玩一些全键盘游戏,比如elona,nethack等等这类游戏,模拟器的键盘就很不够用,那个 游戏键盘 软件用起来体验也很不好,今天自己就琢磨着为这些游戏专门写一个键盘.

1.首先尝试了写一个简单的键盘,发现无法实现跨进程用(也就是说只能在自己编写的软件中使用)

这个问题是重点,就算在本应用写了个悬浮窗,浮在其他应用上面,但按钮输入的物理按键事件(A,B,shift等按键)必须要有系统应用权限才能收到,所以,这个方法没法实现

附:发送物理按键事件的代码

Instrumentation inst =new Instrumentation();

inst.sendKeyDownUpSync(KeyEvent.KEYCODE_A) //发送A按键的事件(注:需要在子线程中执行,当然,我觉得可能没几个人会看我这个教程)

2.既然没法实现跨进程,那就换种思路,我就干脆不跨进程了

3.怎么才能不跨进程,那就是把Exagear和自己写的键盘放在同一个进程里运行,有了这个思路就好办了

首先在清单文件中的父标签中添加android:sharedUserId="com.xxx.xxx"

然后用反编译工具(这里推荐APK编辑器),找到Exagear的清单文件,将上面代码也添加到其中

之后在自己的键盘和Exagear清单文件中的application标签中添加android:process="com.xxx.xxx"

这样就把他们放在同一个进程中了.经过测试,已经可以实现键盘输入了.

4.这其中设计到几个麻烦的问题,第一个就是签名问题,因为设置了android:sharedUserId,他们的签名必须一致,这里就需要创建一个文件,在APK编辑器中设置好打包的签名,自己软件打包时也要使用该签名才行

5.最后就是编辑专用软键盘布局的时候了,已经做到这种程度了,那键盘想成为什么样就完全随心所欲了

(要将键盘写成悬浮窗,从服务中启动,之后因为和Exagear运行在同一个进程里,只要Exagear不被杀死,键盘就一直存在)

6.专属键盘还有一个好处就是不影响本身键盘的使用,因为我经常需要玩游戏的时候切到QQ聊天,如果用 游戏键盘

我还需要把键盘切换成输入法才行,很不爽啊

注:等我把键盘写好了再放图

android 修改系统键盘布局,【图片】自定义属于自己的专属键盘的思路!!!(需要有android编程基础)【exagear吧】_百度贴吧...相关推荐

  1. 安装linux系统键盘布局,如何在 Linux 中使用屏幕键盘

    屏幕键盘可以作为实体键盘输入的替代方案.在某些时候,屏幕键盘显得非常需要. 比如, 你的键盘刚好坏了:你的机器太多,没有足够的键盘:你的机器没有多余的接口来连接键盘:你是个残疾人,打字有困难:或者你正 ...

  2. android修改系统density,Android应用开发Android 修改系统默认density

    本文将带你了解Android应用开发Android 修改系统默认density,希望本文对大家学Android有所帮助. 如你所知在Anroid N 中,系统添加了多个级别的密度值供用户选择. 系统的 ...

  3. 更改linux键盘布局,无法更改Centos 7上的键盘布局

    我已经坚持这个问题好几个小时了,这真的很令人沮丧. 我在Oracle Virtualbox上安装了Centos 7.0.1406,在安装过程中我选择了挪威语键盘布局,因为我有一个挪威语键盘. 问题在于 ...

  4. 【Android 性能优化】布局渲染优化 ( 过渡绘制 | 背景设置产生的过度绘制 | Android 系统的渲染优化 | 自定义布局渲染优化 )

    文章目录 一. 背景设置产生的过度绘制 二. Android 系统的渲染优化 1. 透明组件数据传递 2. GPU 存储机制 3. Android 7.0 之后的优化机制 三. 自定义布局渲染优化 一 ...

  5. android 中自定义键盘,【图片】自定义属于自己的专属键盘的思路!!!(需要有android编程基础)【exagear吧】_百度贴吧...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 最近玩一些全键盘游戏,比如elona,nethack等等这类游戏,模拟器的键盘就很不够用,那个 游戏键盘 软件用起来体验也很不好,今天自己就琢磨着为这些游 ...

  6. android 键盘 输入图片,【图片】自定义属于自己的专属键盘的思路!!!(需要有android编程基础)【exagear吧】_百度贴吧...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 最近玩一些全键盘游戏,比如elona,nethack等等这类游戏,模拟器的键盘就很不够用,那个 游戏键盘 软件用起来体验也很不好,今天自己就琢磨着为这些游 ...

  7. 学习笔记之Android调用系统相册选择图片

    文章目录 前言 使用步骤 小结 参考资料 前言 在相册里选择图片上传也是很常见的功能了例如微信朋友圈等等.但是他们是自定义的选择器,可以选择多张图片并修改.这里我们讲一个最简单的:调用系统的相册选择一 ...

  8. Android修改系统默认设置

     1.launcher的布局太居中,要想两边拉伸 <\packages\apps\Launcher2\res\values\dimens.xml> <dimen name=&qu ...

  9. linux 自定义键盘布局,Ubuntu自定义键位xmodmap

    基于"授人以鱼不如授人以渔"的观念,本文在给出结论的同时还会给出结论得来的方法. Linux程序员在Linux哲学的熏陶下,往往会有一些特殊的想法,来提高工作效率.比如将重复性机械 ...

最新文章

  1. Chrome 控制台指南
  2. P4: Programming Protocol-Independent Packet Processors
  3. mysql show table column_mysql show columns 等show的用法
  4. 爬虫-post请求练习-百度翻译爬虫-智能的关联搜索不完整词的猜词搜索
  5. try-expect在集合处理中的应用
  6. linux 增加虚拟设备,第一篇Zstack之创建虚拟机
  7. linux系统——hadoop环境搭建
  8. matlab uicontrol 居中,matlab的uicontrol
  9. ctf-希尔伯特曲线隐写
  10. 【UE编辑器怎么添加新的语法高亮】
  11. 安卓手机管理器_手机QQ聊天记录如何导出到电脑上查看并打印
  12. 详解3DTouch集成篇
  13. 应届计算机科学与技术简历,计算机科学与技术应届生简历范文
  14. 蟋蟀的xss淫荡教程之如何劫持OSC用户账号
  15. eclipse-美化插件
  16. 随心所“语”之 3B大战:robots协议问题
  17. LeetCode069——x的平方根
  18. 人工智能之数学基础篇—高等数学基础(下篇)
  19. unity重置天下霸图之进度汇总
  20. 复化梯形公式求椭圆周长C语言,C语言编程解线性,非线性方程,龙贝格算法.docx

热门文章

  1. 技术|直流充电桩的构成及分类
  2. 41、海滩上有一堆桃子,五只猴子来分。
  3. Word排版-表格跨页续表
  4. iOS音频播放 (八):NowPlayingCenter和RemoteControl
  5. mp3 添加封面 linux,Qmmp音乐播放器1.2.0发布! Ubuntu中安装方法
  6. Springboot+mybatis构建管理后台系统
  7. struts2的国际化实例:中英文怎么转换
  8. Lightbox弹出层插件:jQuery弹出层插件用法
  9. 拼多多天天领现金活动营销思路解析
  10. 局域网上网行为管理系统的优势