一种解决笔记本linux系统lid功能的方法

文档序号:6548765阅读:1356来源:国知局
一种解决笔记本linux系统lid功能的方法
【专利摘要】本发明提供一种解决笔记本LINUX系统LID功能的方法,在Linux系统的配置文件中保存了LID事件的配置信息,当用户在电源管理设置项里面按照上述三个配置去选择,最终在配置文件中会实时的记录当前的用户配置状态,通过脚本程序去轮询此配置信息能够实时的获取用户设定的LID,然后通过去检测用户的合盖动作去执行相对应的电源管理动作。
【专利说明】—种解决笔记本LINUX系统LID功能的方法
【技术领域】
[0001]本发明涉及计算机应用【技术领域】,具体地说是一种解决笔记本LINUX系统LID功能的方法。
【背景技术】
[0002]由于部分商用笔记本在设计之初都是按照用户使用Windows操作系统去设计的,但是随着Linux操作系统在国内的流行,产生了较大的Linux用户群体,部分笔记本在设计的时候没有去考虑Linux操作系统对ACPI规范支持的情况,造成很多商用笔记本安装Linux操作系统后无法使用Lid (合盖)电源管理的功能,这里设计一种软件去解决此问题。

【发明内容】

[0003]本发明的目的是提供一种解决笔记本LINUX系统LID功能的方法。
[0004]本发明的目的是按以下方式实现的,本发明主要是通过脚本程序的软件设计去解决笔记本合盖后无法使用电源管理设置,在Linux操作系统电源管理配置项中关于LID的配置有如下三种:
1、合盖待机
2、合盖-----关机
3、合盖——不采取任何措施 程序设计内容:
While(I)
{
LlDCONFIG=READLIDconfigO ;//读取LID电源管理配置,返回值包括合盖待机Il (SUSPEND)合盖关机(SHUTDOWN)合盖不采//取任何措施(IGN0R)
If(LIDEVENT==I) ;//合盖待机动作产生
{
swich(LIDC0NFIG)
{
case SUSPEND
system_suspend() ;//执行合盖待机时序 break;
case SHUTDOWN
system—shutdown O ;//执行合盖关机时序
break;
case IGNOR
break;//不釆取任何动作
}}
}o
[0005]本发明的有益效果是:在Linux系统的配置文件中保存了 LID事件的配置信息,当用户在电源管理设置项里面按照上述三个配置去选择,最终在配置文件中会实时的记录当前的用户配置状态,通过脚本程序去轮询此配置信息能够实时的获取用户设定的LID (合盖动作);然后通过去检测用户的合盖动作去执行相对应的电源管理动作,在笔记本合盖的时候会将其相关IO寄存器位置高或低,脚本程序在用户态下运行,系统的IO寄存器在内核态才能去访问,通过相应的权限函数设置访问IO权限,程序持续的去检测此IO寄存器的状态,一旦发现合盖动作产生,按照前面检测到的用户设置的合盖动作配置以文件读写的方式写虚拟文件系统下/sys/power/state的状态值分别执行合盖待机、合盖关机、合盖不采取任何动作,从而完成整个LID事件检测与电源管理配置的实现。
【专利附图】

【附图说明】
[0006]图1是LID系统检测软件设计流程。
【具体实施方式】
[0007]参照说明书附图对本发明的方法作以下详细地说明。
[0008]程序设计内容如下:
【权利要求】
1.一种解决笔记本LINUX系统LID功能的方法,其特征在于通过脚本程序的软件设计解决笔记本合盖后无法使用电源管理设置,在Linux系统的配置文件中保存了 LID事件的配置信息,当用户在电源管理设置项里面按照上述三个配置去选择,最终在配置文件中会实时的记录当前的用户配置状态,通过脚本程序去轮询此配置信息能够实时的获取用户设定的LID,然后通过去检测用户的合盖动作去执行相对应的电源管理动作,在笔记本合盖的时候会将其相关IO寄存器位置高或低,脚本程序在用户态下运行,系统的IO寄存器在内核态才能去访问,通过相应的权限函数设置访问IO权限,程序持续的去检测此IO寄存器的状态,一旦发现合盖动作产生,按照前面检测到的用户设置的合盖动作配置以文件读写的方式写虚拟文件系统下/sys/power/state的状态值分别执行合盖待机、合盖关机、合盖不采取任何动作,从而完成整个LID事件检测与电源管理配置的实现; 程序设计内容如下:
While(I)
{
LlDCONFIG=READLIDconfigO ;//读取LID电源管理配置,返回值包括合盖待机Il (SUSPEND)合盖关机(SHUTDOWN)合盖不采//取任何措施(IGN0R) If(LIDEVENT==I) ;//合盖待机动作产生
{
swich(LIDC0NFIG)
{
case SUSPEN D system_suspend() ;//执行合盖待机时序 break;
case SHUTDOWN system_shutdown() ;//执行合盖关机时序
break; case IGNOR
break;//不采取任何动作
}
}
}o
【文档编号】G06F9/44GK104007976SQ201410247709
【公开日】2014年8月27日 申请日期:2014年6月6日 优先权日:2014年6月6日
【发明者】孙超, 于丽, 吴登勇 申请人:山东超越数控电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1