From patchwork Tue Apr 27 18:45:55 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wayne Thomas X-Patchwork-Id: 95481 X-Patchwork-Delegate: jikos@jikos.cz Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter.kernel.org (8.14.3/8.14.3) with ESMTP id o3RIk0Nd013308 for ; Tue, 27 Apr 2010 18:46:00 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754793Ab0D0Sp7 (ORCPT ); Tue, 27 Apr 2010 14:45:59 -0400 Received: from mail-ww0-f46.google.com ([74.125.82.46]:40611 "EHLO mail-ww0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754567Ab0D0Sp6 (ORCPT ); Tue, 27 Apr 2010 14:45:58 -0400 Received: by wwi14 with SMTP id 14so121344wwi.19 for ; Tue, 27 Apr 2010 11:45:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type; bh=uZ+8snS2RXixIS8qAytrj2/CL0cpwMJBEI9K5G0ucso=; b=S5nNtGATftS+tvlKKYsSaYiqTm8pXvqemYaQ7HVPcvl0kNmVdkIQ67FNH412blXO7T OzhJIqCM0SRZw1OhXX+l65uHsvj4vnOKwWYUFQeBDNM3m7+YRtbsOWTnDLnHf1I899C9 rxYFD9x1n2LBIXt1lxfIZy/JHbxlHU6E05xZI= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=NkgnecKfep84p6BHhJxbT6pFgu9EHfZnQbBzqmwr9vTzFBjy9UGUL5Ce3QrD/E3lI1 /EquddL0B9kJPFTcxpDR385yNJC8fSZKY+HLPXOLqrZXiBxaEhstI+/6coAFQh+uRsO5 CHwVHALsLrvADK0CwCzfAjUNGqT/T1tAAp3xA= MIME-Version: 1.0 Received: by 10.216.86.148 with SMTP id w20mr4896795wee.112.1272393956093; Tue, 27 Apr 2010 11:45:56 -0700 (PDT) Received: by 10.216.6.206 with HTTP; Tue, 27 Apr 2010 11:45:55 -0700 (PDT) In-Reply-To: References: Date: Tue, 27 Apr 2010 20:45:55 +0200 Message-ID: Subject: Re: HID: expand hid-topseed driver to support BTC "Emprex 3009URF III Vista MCE Remote" From: Wayne Thomas To: jkosina@suse.cz, linux-input@vger.kernel.org Cc: linux-kernel@vger.kernel.org Sender: linux-input-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-input@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.3 (demeter.kernel.org [140.211.167.41]); Tue, 27 Apr 2010 18:46:00 +0000 (UTC) diff -uprN linux-2.6.33-clean/drivers/hid/hid-ids.h linux/drivers/hid/hid-ids.h --- linux-2.6.33-clean/drivers/hid/hid-ids.h 2010-04-22 21:04:17.000000000 +0200 +++ linux/drivers/hid/hid-ids.h 2010-04-23 07:09:59.000000000 +0200 @@ -116,6 +116,9 @@ #define USB_VENDOR_ID_BERKSHIRE 0x0c98 #define USB_DEVICE_ID_BERKSHIRE_PCWD 0x1140 +#define USB_VENDOR_ID_BTC 0x046e +#define USB_DEVICE_ID_BTC_EMPREX_REMOTE 0x5578 + #define USB_VENDOR_ID_CH 0x068e #define USB_DEVICE_ID_CH_PRO_PEDALS 0x00f2 #define USB_DEVICE_ID_CH_COMBATSTICK 0x00f4 diff -uprN linux-2.6.33-clean/drivers/hid/hid-topseed.c linux/drivers/hid/hid-topseed.c --- linux-2.6.33-clean/drivers/hid/hid-topseed.c 2010-04-22 20:48:43.000000000 +0200 +++ linux/drivers/hid/hid-topseed.c 2010-04-22 21:29:20.000000000 +0200 @@ -3,6 +3,9 @@ * * Copyright (c) 2008 Lev Babiev * based on hid-cherry driver + * + * Modified to also support BTC "Emprex 3009URF III Vista MCE Remote" by + * Wayne Thomas 2010. */ /* @@ -24,23 +27,29 @@ static int ts_input_mapping(struct hid_d struct hid_field *field, struct hid_usage *usage, unsigned long **bit, int *max) { - if ((usage->hid & HID_USAGE_PAGE) != 0x0ffbc0000) + if ((usage->hid & HID_USAGE_PAGE) != HID_UP_LOGIVENDOR) return 0; switch (usage->hid & HID_USAGE) { - case 0x00d: ts_map_key_clear(KEY_HOME); break; - case 0x024: ts_map_key_clear(KEY_MENU); break; - case 0x025: ts_map_key_clear(KEY_TV); break; - case 0x048: ts_map_key_clear(KEY_RED); break; - case 0x047: ts_map_key_clear(KEY_GREEN); break; - case 0x049: ts_map_key_clear(KEY_YELLOW); break; - case 0x04a: ts_map_key_clear(KEY_BLUE); break; - case 0x04b: ts_map_key_clear(KEY_ANGLE); break; - case 0x04c: ts_map_key_clear(KEY_LANGUAGE); break; - case 0x04d: ts_map_key_clear(KEY_SUBTITLE); break; - case 0x031: ts_map_key_clear(KEY_AUDIO); break; - case 0x032: ts_map_key_clear(KEY_TEXT); break; - case 0x033: ts_map_key_clear(KEY_CHANNEL); break; + case 0x00d: ts_map_key_clear(KEY_MEDIA); break; + case 0x024: ts_map_key_clear(KEY_MENU); break; + case 0x025: ts_map_key_clear(KEY_TV); break; + case 0x031: ts_map_key_clear(KEY_AUDIO); break; + case 0x032: ts_map_key_clear(KEY_TEXT); break; + case 0x033: ts_map_key_clear(KEY_CHANNEL); break; + case 0x047: ts_map_key_clear(KEY_MP3); break; + case 0x048: ts_map_key_clear(KEY_TV2); break; + case 0x049: ts_map_key_clear(KEY_CAMERA); break; + case 0x04a: ts_map_key_clear(KEY_VIDEO); break; + case 0x04b: ts_map_key_clear(KEY_ANGLE); break; + case 0x04c: ts_map_key_clear(KEY_LANGUAGE); break; + case 0x04d: ts_map_key_clear(KEY_SUBTITLE); break; + case 0x050: ts_map_key_clear(KEY_RADIO); break; + case 0x05a: ts_map_key_clear(KEY_TEXT); break; + case 0x05b: ts_map_key_clear(KEY_RED); break; + case 0x05c: ts_map_key_clear(KEY_GREEN); break; + case 0x05d: ts_map_key_clear(KEY_YELLOW); break; + case 0x05e: ts_map_key_clear(KEY_BLUE); break; default: return 0; } @@ -50,6 +59,7 @@ static int ts_input_mapping(struct hid_d static const struct hid_device_id ts_devices[] = { { HID_USB_DEVICE(USB_VENDOR_ID_TOPSEED, USB_DEVICE_ID_TOPSEED_CYBERLINK) }, + { HID_USB_DEVICE(USB_VENDOR_ID_BTC, USB_DEVICE_ID_BTC_EMPREX_REMOTE) }, { } }; MODULE_DEVICE_TABLE(hid, ts_devices); diff -uprN linux-2.6.33-clean/drivers/hid/Kconfig linux/drivers/hid/Kconfig --- linux-2.6.33-clean/drivers/hid/Kconfig 2010-04-22 20:48:43.000000000 +0200 +++ linux/drivers/hid/Kconfig 2010-04-26 21:06:46.000000000 +0200 @@ -285,7 +285,7 @@ config HID_TOPSEED depends on USB_HID default !EMBEDDED ---help--- - Say Y if you have a TopSeed Cyberlink remote control. + Say Y if you have a TopSeed Cyberlink or BTC Emprex remote control. config HID_THRUSTMASTER tristate "ThrustMaster devices support" if EMBEDDED