summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomer Shalev <shalev.tomer@gmail.com>2009-10-17 15:20:23 +0000
committerTomer Shalev <shalev.tomer@gmail.com>2009-10-17 15:20:23 +0000
commit88b1efd92579248c4d17d1edf7a7b02041c0e003 (patch)
treed63bffb4a95386e9f5d12dbf2c41e5576b926787
parent79f19b939f63a1a965bcc9f90cf9b6c8822620cc (diff)
downloadrockbox-88b1efd92579248c4d17d1edf7a7b02041c0e003.tar.gz
rockbox-88b1efd92579248c4d17d1edf7a7b02041c0e003.zip
USB HID: Add mouse mode to h10
- Also fix bug where all other modes were not functional - Hopefully fixes FS#10651 - H10 USB HID keymap problem git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23228 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/keymaps/keymap-h10.c39
-rw-r--r--firmware/export/config-h10.h1
-rw-r--r--firmware/export/config-h10_5gb.h1
-rw-r--r--manual/configure_rockbox/system_options.tex4
4 files changed, 45 insertions, 0 deletions
diff --git a/apps/keymaps/keymap-h10.c b/apps/keymaps/keymap-h10.c
index 9b7800a3da..0106a8c86f 100644
--- a/apps/keymaps/keymap-h10.c
+++ b/apps/keymaps/keymap-h10.c
@@ -398,6 +398,35 @@ static const struct button_mapping button_context_usb_hid_mode_browser[] = {
398 398
399 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID) 399 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID)
400}; /* button_context_usb_hid_mode_browser */ 400}; /* button_context_usb_hid_mode_browser */
401
402#ifdef HAVE_USB_HID_MOUSE
403static const struct button_mapping button_context_usb_hid_mode_mouse[] = {
404 { ACTION_USB_HID_MOUSE_UP, BUTTON_SCROLL_UP, BUTTON_NONE },
405 { ACTION_USB_HID_MOUSE_UP_REP, BUTTON_SCROLL_UP|BUTTON_REPEAT, BUTTON_NONE },
406 { ACTION_USB_HID_MOUSE_DOWN, BUTTON_SCROLL_DOWN, BUTTON_NONE },
407 { ACTION_USB_HID_MOUSE_DOWN_REP, BUTTON_SCROLL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
408 { ACTION_USB_HID_MOUSE_LEFT, BUTTON_LEFT, BUTTON_NONE },
409 { ACTION_USB_HID_MOUSE_LEFT_REP, BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
410 { ACTION_USB_HID_MOUSE_RIGHT, BUTTON_RIGHT, BUTTON_NONE },
411 { ACTION_USB_HID_MOUSE_RIGHT_REP, BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
412 { ACTION_USB_HID_MOUSE_BUTTON_LEFT, BUTTON_PLAY, BUTTON_NONE },
413 { ACTION_USB_HID_MOUSE_BUTTON_LEFT_REL, BUTTON_PLAY|BUTTON_REL, BUTTON_NONE },
414 { ACTION_USB_HID_MOUSE_LDRAG_UP, BUTTON_PLAY|BUTTON_SCROLL_UP, BUTTON_NONE },
415 { ACTION_USB_HID_MOUSE_LDRAG_UP_REP, BUTTON_PLAY|BUTTON_SCROLL_UP|BUTTON_REPEAT, BUTTON_NONE },
416 { ACTION_USB_HID_MOUSE_LDRAG_DOWN, BUTTON_PLAY|BUTTON_SCROLL_DOWN, BUTTON_NONE },
417 { ACTION_USB_HID_MOUSE_LDRAG_DOWN_REP, BUTTON_PLAY|BUTTON_SCROLL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
418 { ACTION_USB_HID_MOUSE_LDRAG_LEFT, BUTTON_PLAY|BUTTON_LEFT, BUTTON_NONE },
419 { ACTION_USB_HID_MOUSE_LDRAG_LEFT_REP, BUTTON_PLAY|BUTTON_LEFT|BUTTON_REPEAT, BUTTON_NONE },
420 { ACTION_USB_HID_MOUSE_LDRAG_RIGHT, BUTTON_PLAY|BUTTON_RIGHT, BUTTON_NONE },
421 { ACTION_USB_HID_MOUSE_LDRAG_RIGHT_REP, BUTTON_PLAY|BUTTON_RIGHT|BUTTON_REPEAT, BUTTON_NONE },
422 { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_UP, BUTTON_REW, BUTTON_NONE },
423 { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_UP, BUTTON_REW|BUTTON_REPEAT, BUTTON_NONE },
424 { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_DOWN, BUTTON_FF, BUTTON_NONE },
425 { ACTION_USB_HID_MOUSE_WHEEL_SCROLL_DOWN, BUTTON_FF|BUTTON_REPEAT, BUTTON_NONE },
426
427 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_USB_HID)
428}; /* button_context_usb_hid_mode_mouse */
429#endif
401#endif 430#endif
402 431
403static const struct button_mapping* get_context_mapping_remote( int context ) 432static const struct button_mapping* get_context_mapping_remote( int context )
@@ -485,6 +514,16 @@ const struct button_mapping* get_context_mapping(int context)
485#ifdef USB_ENABLE_HID 514#ifdef USB_ENABLE_HID
486 case CONTEXT_USB_HID: 515 case CONTEXT_USB_HID:
487 return button_context_usb_hid; 516 return button_context_usb_hid;
517 case CONTEXT_USB_HID_MODE_MULTIMEDIA:
518 return button_context_usb_hid_mode_multimedia;
519 case CONTEXT_USB_HID_MODE_PRESENTATION:
520 return button_context_usb_hid_mode_presentation;
521 case CONTEXT_USB_HID_MODE_BROWSER:
522 return button_context_usb_hid_mode_browser;
523#ifdef HAVE_USB_HID_MOUSE
524 case CONTEXT_USB_HID_MODE_MOUSE:
525 return button_context_usb_hid_mode_mouse;
526#endif
488#endif 527#endif
489 default: 528 default:
490 return button_context_standard; 529 return button_context_standard;
diff --git a/firmware/export/config-h10.h b/firmware/export/config-h10.h
index 0dc845c23b..5ac12af3fc 100644
--- a/firmware/export/config-h10.h
+++ b/firmware/export/config-h10.h
@@ -173,6 +173,7 @@
173#define USE_ROCKBOX_USB 173#define USE_ROCKBOX_USB
174#define USB_VENDOR_ID 0x0B70 174#define USB_VENDOR_ID 0x0B70
175#define USB_PRODUCT_ID 0x00BA 175#define USB_PRODUCT_ID 0x00BA
176#define HAVE_USB_HID_MOUSE
176 177
177/* Define this if you have adjustable CPU frequency */ 178/* Define this if you have adjustable CPU frequency */
178#define HAVE_ADJUSTABLE_CPU_FREQ 179#define HAVE_ADJUSTABLE_CPU_FREQ
diff --git a/firmware/export/config-h10_5gb.h b/firmware/export/config-h10_5gb.h
index 8275e50dc6..e39c6a6bbf 100644
--- a/firmware/export/config-h10_5gb.h
+++ b/firmware/export/config-h10_5gb.h
@@ -153,6 +153,7 @@
153#define USE_ROCKBOX_USB 153#define USE_ROCKBOX_USB
154#define USB_VENDOR_ID 0x0B70 154#define USB_VENDOR_ID 0x0B70
155#define USB_PRODUCT_ID 0x00BA 155#define USB_PRODUCT_ID 0x00BA
156#define HAVE_USB_HID_MOUSE
156 157
157/* Define this if you have adjustable CPU frequency */ 158/* Define this if you have adjustable CPU frequency */
158#define HAVE_ADJUSTABLE_CPU_FREQ 159#define HAVE_ADJUSTABLE_CPU_FREQ
diff --git a/manual/configure_rockbox/system_options.tex b/manual/configure_rockbox/system_options.tex
index a8fbac77e4..ab6ba9c82c 100644
--- a/manual/configure_rockbox/system_options.tex
+++ b/manual/configure_rockbox/system_options.tex
@@ -566,6 +566,8 @@ this option \setting{On}. If it is not required, then turning this setting
566 \opt{SANSA_E200_PAD,GIGABEAT_S_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD% 566 \opt{SANSA_E200_PAD,GIGABEAT_S_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD%
567 ,MROBE100_PAD} 567 ,MROBE100_PAD}
568 {\ButtonUp / \ButtonDown / \ButtonLeft / \ButtonRight} 568 {\ButtonUp / \ButtonDown / \ButtonLeft / \ButtonRight}
569 \opt{IRIVER_H10_PAD}
570 {\ButtonScrollUp / \ButtonScrollDown / \ButtonLeft / \ButtonRight}
569 \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD} 571 \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD}
570 {\ButtonMenu / \ButtonPlay / \ButtonLeft / \ButtonRight} 572 {\ButtonMenu / \ButtonPlay / \ButtonLeft / \ButtonRight}
571 \opt{HAVEREMOTEKEYMAP}{ 573 \opt{HAVEREMOTEKEYMAP}{
@@ -579,6 +581,7 @@ this option \setting{On}. If it is not required, then turning this setting
579 ,IPOD_3G_PAD,IPOD_1G2G_PAD} 581 ,IPOD_3G_PAD,IPOD_1G2G_PAD}
580 {\ButtonSelect} 582 {\ButtonSelect}
581 \opt{GIGABEAT_S_PAD}{\ButtonSelect; \ButtonBack} 583 \opt{GIGABEAT_S_PAD}{\ButtonSelect; \ButtonBack}
584 \opt{IRIVER_H10_PAD}{\ButtonPlay}
582 \opt{MROBE100_PAD}{\ButtonMenu} 585 \opt{MROBE100_PAD}{\ButtonMenu}
583 \opt{HAVEREMOTEKEYMAP}{ 586 \opt{HAVEREMOTEKEYMAP}{
584 & 587 &
@@ -598,6 +601,7 @@ this option \setting{On}. If it is not required, then turning this setting
598 % Mouse wheel scroll up / down 601 % Mouse wheel scroll up / down
599 \opt{SANSA_E200_PAD,IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD} 602 \opt{SANSA_E200_PAD,IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD}
600 {\ButtonScrollBack / \ButtonScrollFwd} 603 {\ButtonScrollBack / \ButtonScrollFwd}
604 \opt{IRIVER_H10_PAD}{\ButtonRew / \ButtonFF}
601 \opt{GIGABEAT_S_PAD} 605 \opt{GIGABEAT_S_PAD}
602 {\ButtonVolUp; \ButtonPrev / \ButtonVolDown; \ButtonNext} 606 {\ButtonVolUp; \ButtonPrev / \ButtonVolDown; \ButtonNext}
603 \opt{SANSA_C200_PAD,SANSA_CLIP_PAD,MROBE100_PAD} 607 \opt{SANSA_C200_PAD,SANSA_CLIP_PAD,MROBE100_PAD}