stormking 发表于 2013-5-22 21:02:52

把TQ210的上下键对调,但是修改之后按键无效了,急

请问我想把TQ210(跑android4.0的)上的上下键调换一下,不希望修改键值,我目前的做法是这样的:
修改q前(mach-tq210.c):
#ifdef CONFIG_KEYBOARD_S3C_GPIO
static struct gpio_keys_button gpio_buttons[] = {

        {
                .gpio                = S5PV210_GPH0(0),
                .code                = KEY_UP,
                .desc                = "KEY_UP",
                .active_low        = 1,
                .wakeup                = 1,
        },
        {
                .gpio                = S5PV210_GPH0(1),
                .code                = KEY_DOWN,
                .desc                = "KEY_DOWN",
                .active_low        = 1,
                .wakeup                = 1,
        },       
修改后:
#ifdef CONFIG_KEYBOARD_S3C_GPIO
static struct gpio_keys_button gpio_buttons[] = {

        {
                .gpio                = S5PV210_GPH0(1),
                .code                = KEY_UP,
                .desc                = "KEY_UP",
                .active_low        = 1,
                .wakeup                = 1,
        },
        {
                .gpio                = S5PV210_GPH0(0),
                .code                = KEY_DOWN,
                .desc                = "KEY_DOWN",
                .active_low        = 1,
                .wakeup                = 1,
        },       


我还修改了另外一个文件(s3c-gpio-key.c),修改前如下:
struct s3c_gpio_key s3c_gpio_keys[]=
{       
        {
                .pin = S5PV210_GPH0(0),
                .eintcfg = 0X0f<<0,      
                .inputcfg = 0<<0,
                .eint = IRQ_EINT0,
        },
        {
                .pin = S5PV210_GPH0(1),
                .eintcfg = 0X0f<<4,      
                .inputcfg = 0<<4,
                .eint = IRQ_EINT1,
        },

修改后:
struct s3c_gpio_key s3c_gpio_keys[]=
{       
        {
                .pin = S5PV210_GPH0(1),
                .eintcfg = 0X0f<<0,      
                .inputcfg = 0<<0,
                .eint = IRQ_EINT0,
        },
        {
                .pin = S5PV210_GPH0(0),
                .eintcfg = 0X0f<<4,      
                .inputcfg = 0<<4,
                .eint = IRQ_EINT1,
        },


我目前改动就只是上述地方,按我的理解应该会两个按键的功能可以反过来的,但是实际效果是两个按键都不起作用了,是不是还有什么需要修改的地方,请版主帮忙解决下。我是要修改GPIO口的,不能用那种在上层修改键值的方法。

stormking 发表于 2013-5-22 21:05:23

请问要达到我这种目的,需要如何修改驱动,急

stormking 发表于 2013-5-22 22:06:57

或者说想添加一个按键(把某个GPIO口当输入按键用)需要怎么处理,需要如何修改驱动,急

TQ-ZQL 发表于 2013-5-23 08:46:50


      {
                .gpio                = S5PV210_GPH0(0),
                .code                = KEY_UP,
                .desc                = "KEY_UP",
                .active_low      = 1,
                .wakeup                = 1,
      },
将code,desc改了应该就可以了,其它不用改

stormking 发表于 2013-5-23 21:46:50

试过了,还是不行啊,斑竹要不你亲测下?:'(

stormking 发表于 2013-5-23 21:50:20

还是两个按键都不能用啊

TQ-ZQL 发表于 2013-5-24 10:34:03

我测试过是可以有实现的,
我上面不是说了,只改code,desc,其它什么都不用改

stormking 发表于 2013-5-24 21:00:33

斑竹,你好,你这个方法是可以,但不会我想要的效果。
我真正的目的是把GPJ1(4)这个接口配置成按键key_up,需要如何修改,如何配置中端

那个GPJ1(4)是Camera B的其中一个GPIO口,原理图见附件,这个接口如果接的是哪个中端



页: [1]
查看完整版本: 把TQ210的上下键对调,但是修改之后按键无效了,急