diff options
| author | Barry Wardell <rockbox@barrywardell.net> | 2006-09-25 18:45:03 +0000 |
|---|---|---|
| committer | Barry Wardell <rockbox@barrywardell.net> | 2006-09-25 18:45:03 +0000 |
| commit | 979c23a71554a480d8a7d7a3996327145ee10d2d (patch) | |
| tree | f69ac5f775c3b40e5b3f1f48c5d1da8b1a449d4a | |
| parent | 2404913f45e06fae60d15ed2bf3cfcd5e739ab51 (diff) | |
| download | rockbox-979c23a71554a480d8a7d7a3996327145ee10d2d.zip rockbox-979c23a71554a480d8a7d7a3996327145ee10d2d.tar.gz rockbox-979c23a71554a480d8a7d7a3996327145ee10d2d.tar.bz2 rockbox-979c23a71554a480d8a7d7a3996327145ee10d2d.tar.xz | |
Fix "Upside down" behaviour on H10. We need to flip horizontally as well as vertically and also need to flip the scroll pad up/down.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11049 a1c6a512-1295-4272-9138-f99709370657
| -rw-r--r-- | firmware/drivers/button.c | 9 | ||||
| -rw-r--r-- | firmware/target/arm/iriver/h10/lcd-h10_20gb.c | 4 |
2 files changed, 12 insertions, 1 deletions
diff --git a/firmware/drivers/button.c b/firmware/drivers/button.c index 6536a34..5add6cb 100644 --- a/firmware/drivers/button.c +++ b/firmware/drivers/button.c @@ -704,6 +704,9 @@ static int button_flip(int button) #if defined(BUTTON_UP) && defined(BUTTON_DOWN) | BUTTON_UP | BUTTON_DOWN #endif +#if defined(BUTTON_SCROLL_UP) && defined(BUTTON_SCROLL_DOWN) + | BUTTON_SCROLL_UP | BUTTON_SCROLL_DOWN +#endif #if CONFIG_KEYPAD == RECORDER_PAD | BUTTON_F1 | BUTTON_F3 #endif @@ -719,6 +722,12 @@ static int button_flip(int button) if (button & BUTTON_DOWN) newbutton |= BUTTON_UP; #endif +#if defined(BUTTON_SCROLL_UP) && defined(BUTTON_SCROLL_DOWN) + if (button & BUTTON_SCROLL_UP) + newbutton |= BUTTON_SCROLL_DOWN; + if (button & BUTTON_SCROLL_DOWN) + newbutton |= BUTTON_SCROLL_UP; +#endif #if CONFIG_KEYPAD == RECORDER_PAD if (button & BUTTON_F1) newbutton |= BUTTON_F3; diff --git a/firmware/target/arm/iriver/h10/lcd-h10_20gb.c b/firmware/target/arm/iriver/h10/lcd-h10_20gb.c index cbada34..834149d 100644 --- a/firmware/target/arm/iriver/h10/lcd-h10_20gb.c +++ b/firmware/target/arm/iriver/h10/lcd-h10_20gb.c @@ -169,8 +169,10 @@ void lcd_set_flip(bool yesno) if (!power_on) return; + /* SCN4-0=000x0 (G1/G160) */ + lcd_write_reg(R_GATE_SCAN_START_POS, yesno ? 0x0002 : 0x0000); /* SM=0, GS=x, SS=x, NL4-0=10011 (G1-G160) */ - lcd_write_reg(R_DRV_OUTPUT_CONTROL, yesno ? 0x0013 : 0x0113); + lcd_write_reg(R_DRV_OUTPUT_CONTROL, yesno ? 0x0213 : 0x0113); /* HEA7-0=0xxx, HSA7-0=0xxx */ lcd_write_reg(R_HORIZ_RAM_ADDR_POS, y_offset ? 0x8304 : 0x7f00); } |