无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
楼主: rm_rf_/
打印 上一主题 下一主题

[分享] 【GRUB2平板电脑】音量键切换菜单选项,第二次尝试----

    [复制链接]
31#
发表于 2016-7-9 16:34:30 来自手机 | 只看该作者
回复

使用道具 举报

32#
 楼主| 发表于 2016-7-9 17:44:31 | 只看该作者
qq1205811271 发表于 2016-7-8 20:27
我试过把phonenix os安装到平板上,他那个好像也是Grub的,(PC上却是Bootmgr),可以用音量键控 ...

http://www.phoenixos.com/download_x86 这个页面,PC x86机下载资源的地址下面,赫然写着
“凤凰系统安装程序使用了grub4dos,对此表示感谢。”
我来解释一下:
PC机启动原理就是用微软自身的boot引导菜单中,加入了一项“由grub4dos所引导的凤凰系统”。
如果在“微软自身的引导菜单”中,音量按键可控制选项,并非是grub4dos的功劳。
而是在那之前,微软自身的引导程序,识别了“音量按键”这种外设,但到底能不能识别,你可以试试,即便识别,对于本文来讲,好无鸟用,
微软的程序不是开源的。。。
grub4dos与grub2是两个东西。

再看ARM平板资源,在http://www.phoenixos.com/download_arm 这个页面,列举的资源,都是针对Android平板。
并非x86 PC
而这种情况下,所采用的引导器,是安卓的bootloader,它是个神马,麻烦看下这个:
http://mobile.zol.com.cn/242/2424698_all.html

在安卓bootloader下,音量按键、关机键、HOME键,“必须滴”能用!不能用,让用户捧着砖头干啥?意念吗?
有安卓bootloader的存在,GRUB2基本上就没什么用了。
但“大东亚共荣的”GRUB2在这种环境下,是可以引导启动Android的,不管你用不用,反正我手机不用GRUB2启动。。。。

简单点说,一种X86 PC, 一种ARM平板,两个架构两种设备,
它们的“音量按键”。。。。打死我也不相信,它们的按键扫描码会是一样的。。。



我甚至可以断言:目前只有一种情况,我在无忧这篇帖子,才会有意义,
那就是平板PC电脑(非安卓)用BIOS引导情况下,需要“音量按键、关机键”来控制GRUB2的菜单选择。
这种一厢情愿,可能在未来10年、20年之后可能会被打破。。。
回复

使用道具 举报

33#
发表于 2016-7-10 13:35:14 | 只看该作者
感谢分享!
2个山寨平板在家,有时间拿来测试
回复

使用道具 举报

34#
发表于 2016-7-10 15:13:19 来自手机 | 只看该作者
grub2的更新是随着那些发行版Linux更新的,然而那些Linux一个比一个高傲,根本不容别的系统,所以grub2本身不会进步,指望wintel,那就更遥遥无期了。
回复

使用道具 举报

35#
 楼主| 发表于 2016-7-11 14:06:53 | 只看该作者
wintoflash 发表于 2016-7-7 08:18
Surface Pro 3
实测并不能获取音量键的键值。
按音量键后没反应,如下图

帖子已经更新,敢不敢再来一次

点评

测试结果:音量键+/-、电源键均无反应。 键盘任意键,菜单项下移。 另外,这是在windows系统中按音量键调节的UI http://i4.piimg.com/1949/0a20d4ba60f19fbb.jpg  详情 回复 发表于 2016-7-11 14:28
回复

使用道具 举报

36#
 楼主| 发表于 2016-7-11 14:10:14 | 只看该作者
我是那么地义无反顾
回复

使用道具 举报

37#
发表于 2016-7-11 14:28:57 | 只看该作者
rm_rf_/ 发表于 2016-7-11 14:06
帖子已经更新,敢不敢再来一次


测试结果:音量键+/-、电源键均无反应。
                键盘任意键,菜单项下移。
另外,这是在windows系统中按音量键调节的UI

点评

收到,谢谢! 现在问题越来越明确了,也就是说用现在的GRUB2根本不认识音量+ - 想要感知音量键,还需要“认识音量键”  详情 回复 发表于 2016-7-11 15:38
回复

使用道具 举报

38#
 楼主| 发表于 2016-7-11 15:38:26 | 只看该作者
wintoflash 发表于 2016-7-11 14:28
测试结果:音量键+/-、电源键均无反应。
                键盘任意键,菜单项下移。
另外,这是在windows系统中按音 ...

收到,谢谢!
现在问题越来越明确了,也就是说用现在的GRUB2根本不认识音量+ -
想要感知音量键,还需要“认识音量键”
回复

使用道具 举报

39#
发表于 2016-8-12 10:29:11 | 只看该作者
可以考虑,用Win键切换菜单,之后自动倒计时。这样平板就只需触摸Win键来切换系统。研究Grub2的源代码发现,其将Shift,Alt,CAPSLOCK,PrtSC,PauseBreak等键,都重置为0x0。所以Win键也肯定如此。若能将Win键释放出来,一切都会迎刃而解!   menu.c中   "c=grub_getkey_noblock()" , term.c中grub_getkey_noblock(){  ...     key=term->getkey(term);    ...},再之后我就不怎么看得懂,楼主有何想法~
回复

使用道具 举报

40#
发表于 2016-8-12 11:26:50 来自手机 | 只看该作者
加油。
回复

使用道具 举报

41#
发表于 2016-8-12 11:27:48 来自手机 | 只看该作者
二次倒计时能实现吗?就是选择了上下以后再倒计时。

点评

可以,几行代码的问题。  详情 回复 发表于 2016-8-12 11:48
回复

使用道具 举报

42#
发表于 2016-8-12 11:48:27 | 只看该作者
窄口牛 发表于 2016-8-12 11:27
二次倒计时能实现吗?就是选择了上下以后再倒计时。

可以,几行代码的问题。
回复

使用道具 举报

43#
发表于 2016-8-13 23:51:48 来自手机 | 只看该作者
鼓捣grub2的按键,不如鼓捣四叶草的触摸。四叶草已经可以鼠标点选。

点评

XorBoot很久前就能鼠标点选。鼠标有通用的驱动,而触摸屏貌似没有,所以很难实现。。。  详情 回复 发表于 2016-8-16 16:51
回复

使用道具 举报

44#
发表于 2016-8-16 16:51:49 | 只看该作者
窄口牛 发表于 2016-8-13 23:51
鼓捣grub2的按键,不如鼓捣四叶草的触摸。四叶草已经可以鼠标点选。

XorBoot很久前就能鼠标点选。鼠标有通用的驱动,而触摸屏貌似没有,所以很难实现。。。

点评

不是貌似. 触摸驱动肯定是不通用.  详情 回复 发表于 2016-10-10 07:58
回复

使用道具 举报

45#
发表于 2016-8-16 17:04:40 来自手机 | 只看该作者
是的。
回复

使用道具 举报

46#
发表于 2016-8-30 11:21:36 来自手机 | 只看该作者
二次倒计时给个范例,每条菜单都加倒计时,不就只用音量键就可以。
回复

使用道具 举报

47#
发表于 2016-9-30 17:04:06 | 只看该作者
标记备用
回复

使用道具 举报

48#
发表于 2016-10-10 07:44:08 | 只看该作者
撸主陷得太深了. 看你研究这么久我就公布答案吧. 其实这问题是可以看做工业标准. 板子没上万都有成千. 但是其中不少板子 VOL UP DOWN 键 (因为他们符合标准) 是GRUB2本身支持的. 但电 POWER 和 HOME 就不一定了. 你不相信的话. 我见你下面提到过 PhoenixOS 那你也可以去 RemixOS 看看. 各种按键没响应 不能触屏 电源管理不正常 反正各种驱动存在问题. 没错. 这里说的就是 "驱动" GRUB2 里的 include 就好比 Andoird 下的 lib/modules . 当物理按键不符合标准或者不在通用驱动里的时候. 他是无法被识别的. 如果说到这里. 还是半信半疑. 你可以随便买台几百到上千块的 X86 寨板 (原生用Android系统) 一试. 京东就有. 7天退换嘛. 相信7天时间足够你试了. 然后退货就好了. 在测试的过程中. 如果你多少了解点 Android 的话. 你会知道解包 boot / fastboot / recovery 看 ramdisk / initrd 他们都是挂上物理按键的 ko (也就是驱动) 的. 所以. 在 fastboot recovery(比如TWRP) 下. 你都可以通过 VOL UP DOWN 键 和 POWER 键 确定的. 但是当你插上你的 U盘. 用 EFI IA32/X64 引导进 GRUB2 的时候. 你就会发现. 怎么物理键都没反应了? 到这里你就会发现我上面所说的答案是真的. 我手上也有一块 "苦逼模仿" 的 i7 remix 版. 他就是正常能用 VOL UP DOWN 而 POWER 和 HOME 没反应的. 而我的解决办法就是 normal/menu.c 下改了 VOL UP 做确认键. 当然了. 这绝对是不完美的. 但也只能将就了. 除非自己弄个 GRUB2 的 mod 来驱动那另外2个物理按键呗. 所以你折腾这么久了不是因为你弄错了还是键值对不上. 所以建议你就此放弃吧.  当然了. 如果物理按键是能输出键值. 而所加载的驱动只是做映射键值所用的物理按键. 还是可以通过抓取键值去应用到 GRUB 里头的. 但这只是冰山一角啊. 还有就是要对应的板子来适配一个 mod . 希望你早日脱离苦海吧. 回头是岸啊.
回复

使用道具 举报

49#
发表于 2016-10-10 07:47:24 | 只看该作者
rm_rf_/ 发表于 2016-7-7 14:44
帖子内容已更新

acer w700 你就走运了. xda 有发过. http://forum.xda-developers.com/ ... 6&postcount=309
回复

使用道具 举报

50#
发表于 2016-10-10 07:51:31 | 只看该作者
wintoflash 发表于 2016-7-7 21:46
你的意思是说,给grub2添加一个getkey命令?

准确说. 是 getevent
回复

使用道具 举报

51#
发表于 2016-10-10 07:58:59 | 只看该作者
shuaxinkong 发表于 2016-8-16 16:51
XorBoot很久前就能鼠标点选。鼠标有通用的驱动,而触摸屏貌似没有,所以很难实现。。。

不是貌似. 触摸驱动肯定是不通用.  
回复

使用道具 举报

52#
发表于 2016-10-10 09:39:06 来自手机 | 只看该作者
这个牛逼。
回复

使用道具 举报

53#
发表于 2016-10-10 20:26:52 | 只看该作者
酷比魔方i7手写本 获取不到键值!是不是无望了。。。。。。。

点评

全物理键在 grub2 下没任何响应? 如果有2个键有响应的话. 可以帮你编译个1个键做向下 选菜单到底循环回最顶部菜单. 另外1个键做确认. 只能将就这样用用了.  详情 回复 发表于 2016-10-10 21:11
回复

使用道具 举报

54#
发表于 2016-10-10 21:11:03 | 只看该作者
Beatle 发表于 2016-10-10 20:26
酷比魔方i7手写本 获取不到键值!是不是无望了。。。。。。。

全物理键在 grub2 下没任何响应? 如果有2个键有响应的话. 可以帮你编译个1个键做向下 选菜单到底循环回最顶部菜单. 另外1个键做确认. 只能将就这样用用了.
回复

使用道具 举报

55#
发表于 2016-10-11 09:15:54 | 只看该作者
dnns 发表于 2016-10-10 21:11
全物理键在 grub2 下没任何响应? 如果有2个键有响应的话. 可以帮你编译个1个键做向下 选菜单到底循环回最 ...

我的想法也是这样的,平板上总共就三个键,电源键、音量加、减键,音量加减键都获取不到键值。

点评

获取不获取到键值. 那有可能跟他那个获取键值工具是有关系的. 看见你说了. 我试了下. 也是不能获取的. 但是就算不能获取在 grub2 下也是正常工作的. 所以建议你. 看看音量键在 grub2 下是否正常工作. 毕竟这2个键一  详情 回复 发表于 2016-10-11 16:29
回复

使用道具 举报

56#
发表于 2016-10-11 16:29:31 | 只看该作者
Beatle 发表于 2016-10-11 09:15
我的想法也是这样的,平板上总共就三个键,电源键、音量加、减键,音量加减键都获取不到键值。

获取不获取到键值. 那有可能跟他那个获取键值工具是有关系的. 看见你说了. 我试了下. 也是不能获取的. 但是就算不能获取在 grub2 下也是正常工作的. 所以建议你. 看看音量键在 grub2 下是否正常工作. 毕竟这2个键一般都符合标准的.
回复

使用道具 举报

57#
发表于 2016-10-12 12:35:30 | 只看该作者
dnns 发表于 2016-10-11 16:29
获取不获取到键值. 那有可能跟他那个获取键值工具是有关系的. 看见你说了. 我试了下. 也是不能获取的. 但 ...

之前试过不能工作,也可能是配置的不对。慢慢来吧,希望哪天能够解决!

点评

要是等这个哪天就是不知道要到哪天了. grub 就那么点大小. 总不可能集成所有驱动的. linux kernel 都也不是所有驱动集成. 因为只集成一些通用的而已. 不用修改源码的情况下试试编译好的 gurb 上下键是否可用吧. 可用  详情 回复 发表于 2016-10-12 19:59
回复

使用道具 举报

58#
发表于 2016-10-12 19:59:57 | 只看该作者
本帖最后由 dnns 于 2016-10-12 20:03 编辑
Beatle 发表于 2016-10-12 12:35
之前试过不能工作,也可能是配置的不对。慢慢来吧,希望哪天能够解决!


要是等这个哪天就是不知道要到哪天了. grub 就那么点大小. 总不可能集成所有驱动的. linux kernel 都也不是所有驱动集成. 因为只集成一些通用的而已. 不用修改源码的情况下试试编译好的 gurb 上下键是否可用吧. 可用就可以修改 normal 的 menu.c 把上键 设为 boot 就可以了.  下键 加个 else current_entry 回 0 那就可以按到最下循环回顶部再来.

点评

2年前,我请如意小子帮我定制一款U盘引导工具,他起初用了grub4dos,后来在GRUB2的基础上,修改增加了动画引擎,并重命名项目为bad_OS_x。 并将源代码公布于reboot.pro论坛、ubuntu中文论坛。以及无忧论坛。。。 U  详情 回复 发表于 2016-10-19 22:22
感谢你的回复,等半年好不容易出来一位对路的,我看了你的意思。。。 哎,,,, 产生这些问题并不是我们所能掌控的, 我之所以放弃更新这个帖子,是因为这些个问题我想到了。。。不解释,哈哈 这些问题,并不能  详情 回复 发表于 2016-10-19 22:09
回复

使用道具 举报

59#
 楼主| 发表于 2016-10-19 22:09:14 | 只看该作者
本帖最后由 rm_rf_/ 于 2016-10-19 22:22 编辑
dnns 发表于 2016-10-12 19:59
要是等这个哪天就是不知道要到哪天了. grub 就那么点大小. 总不可能集成所有驱动的. linux kernel 都也 ...


感谢你的回复,等半年好不容易出来一位对路的,我看了你的意思。。。
哎,,,,
产生这些问题并不是我们所能掌控的,
我之所以放弃更新这个帖子,是因为这些个问题我想到了。。。不解释,哈哈
这些问题,并不能算什么,厂商那么多,而且都想有自己的bootloader,
而且非开源,无法做到兼容性。。。
GRUB2当初本意是统一引导,时代在变,到目前各种移动设备,各有各的定制
这些事物又不算什么“发明”。。。或者高科技的东西。。。谁能料想明天会流行什么东西
总之,,,你能分享自己的经验或发现,这点值得我肯定。
比起那些无所事事,整天掌握点小能耐就自以为是的人,要好的多得多
回复

使用道具 举报

60#
 楼主| 发表于 2016-10-19 22:22:05 | 只看该作者
dnns 发表于 2016-10-12 19:59
要是等这个哪天就是不知道要到哪天了. grub 就那么点大小. 总不可能集成所有驱动的. linux kernel 都也 ...

2年前,我请如意小子帮我定制一款U盘引导工具,他起初用了grub4dos,后来在GRUB2的基础上,修改增加了动画引擎,并重命名项目为bad_OS_x。
并将源代码公布于reboot.pro论坛、ubuntu中文论坛。以及无忧论坛。。。
U盘维护工具,需要与别人截然不同的另类风格,且做到唯一。
我推荐主题风格的定制、以及借用《看门狗》watch_dogs游戏中的风格。。。
截止到去年bad_OS_x更新到最后一次版本,如意小子忙自己的事情去了。所以今年他会不会更新项目,还是未知数。
我问过他这些平板电脑的问题,得到的答案跟现在的处境差不多,
所以,我也仅仅是做了力所能及的事而已。。。

点评

恩. 就像 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=381472&extra=&page=1 我这里弄的外挂 RECOVERY 和 DROIDBOOT 一样. 也只能说针对性的. 等同于板子上物理按键的驱动. 我这个外挂的包只能支持我说的板  详情 回复 发表于 2016-10-19 23:55
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-26 06:46

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表