FS#9535 - Sansa Fuze sim


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19086 a1c6a512-1295-4272-9138-f99709370657
diff --git a/apps/SOURCES b/apps/SOURCES
index 918fa5d..84f2eec 100644
--- a/apps/SOURCES
+++ b/apps/SOURCES
@@ -212,4 +212,6 @@
 keymaps/keymap-iaudio67.c
 #elif CONFIG_KEYPAD == LOGIK_DAX_PAD
 keymaps/keymap-logikdax.c
+#elif CONFIG_KEYPAD == SANSA_FUZE_PAD
+keymaps/keymap-fuze.c
 #endif
diff --git a/apps/lang/bulgarian.lang b/apps/lang/bulgarian.lang
index 349c382..f598563 100644
--- a/apps/lang/bulgarian.lang
+++ b/apps/lang/bulgarian.lang
@@ -10221,17 +10221,17 @@
   <source>
     *: none
     button_light: "Button Light Timeout"
-    e200*: "Wheel Light Timeout"
+    fuze,e200*: "Wheel Light Timeout"
   </source>
   <dest>
     *: none
     button_light: "Изключване на осветяването на бутоните"
-    e200*: "Изключване на осветяването на колелото"
+    fuze,e200*: "Изключване на осветяването на колелото"
   </dest>
   <voice>
     *: none
     button_light: ""
-    e200*: ""
+    fuze,e200*: ""
   </voice>
 </phrase>
 <phrase>
diff --git a/apps/lang/catala.lang b/apps/lang/catala.lang
index ae60e44..f4ccec9 100644
--- a/apps/lang/catala.lang
+++ b/apps/lang/catala.lang
@@ -3828,17 +3828,17 @@
   <source>
     *: none
     button_light: "Button Light Timeout"
-    e200*: "Wheel Light Timeout"
+    fuze,e200*: "Wheel Light Timeout"
   </source>
   <dest>
     *: none
     button_light: "Apagat de llum de botons"
-    e200*: "Apagat de llum de roda"
+    fuze,e200*: "Apagat de llum de roda"
   </dest>
   <voice>
     *: none
     button_light: "Apagat de llum de botons"
-    e200*: "Apagat de llum de roda"
+    fuze,e200*: "Apagat de llum de roda"
   </voice>
 </phrase>
 <phrase>
diff --git a/apps/lang/chinese-simp.lang b/apps/lang/chinese-simp.lang
index eee223e..dcaedd8 100644
--- a/apps/lang/chinese-simp.lang
+++ b/apps/lang/chinese-simp.lang
@@ -10687,17 +10687,17 @@
   <source>
     *: none
     button_light: "Button Light Timeout"
-    e200*: "Wheel Light Timeout"
+    fuze,e200*: "Wheel Light Timeout"
   </source>
   <dest>
     *: none
     button_light: "按键背光自动关闭时滞"
-    e200*: "转盘背光自动关闭时滞"
+    fuze,e200*: "转盘背光自动关闭时滞"
   </dest>
   <voice>
     *: none
     button_light: "按键背光自动关闭时滞"
-    e200*: "转盘背光自动关闭时滞"
+    fuze,e200*: "转盘背光自动关闭时滞"
   </voice>
 </phrase>
 <phrase>
diff --git a/apps/lang/chinese-trad.lang b/apps/lang/chinese-trad.lang
index 153f368..3c5b3d9 100644
--- a/apps/lang/chinese-trad.lang
+++ b/apps/lang/chinese-trad.lang
@@ -10704,15 +10704,15 @@
   user:
   <source>
     *: none
-    e200*: "Wheel Light Timeout"
+    fuze,e200*: "Wheel Light Timeout"
   </source>
   <dest>
     *: none
-    e200*: "轉盤燈自動關時間"
+    fuze,e200*: "轉盤燈自動關時間"
   </dest>
   <voice>
     *: none
-    e200*: "Wheel Light Timeout"
+    fuze,e200*: "Wheel Light Timeout"
   </voice>
 </phrase>
 <phrase>
diff --git a/apps/lang/czech.lang b/apps/lang/czech.lang
index c852813..db023d4 100644
--- a/apps/lang/czech.lang
+++ b/apps/lang/czech.lang
@@ -3835,15 +3835,15 @@
   user:
   <source>
     *: none
-    e200*: "Wheel Light Timeout"
+    fuze,e200*: "Wheel Light Timeout"
   </source>
   <dest>
     *: none
-    e200*: "Časový limit osvětlení kolečka"
+    fuze,e200*: "Časový limit osvětlení kolečka"
   </dest>
   <voice>
     *: none
-    e200*: "Časový limit osvětlení kolečka"
+    fuze,e200*: "Časový limit osvětlení kolečka"
   </voice>
 </phrase>
 <phrase>
diff --git a/apps/lang/dansk.lang b/apps/lang/dansk.lang
index bd201da..c96c6b4 100644
--- a/apps/lang/dansk.lang
+++ b/apps/lang/dansk.lang
@@ -9933,17 +9933,17 @@
   <source>
     *: none
     button_light: "Button Light Timeout"
-    e200*: "Wheel Light Timeout"
+    fuze,e200*: "Wheel Light Timeout"
   </source>
   <dest>
     *: none
     button_light: "Knap-lys sluk"
-    e200*: "Hjul-lys sluk"
+    fuze,e200*: "Hjul-lys sluk"
   </dest>
   <voice>
     *: none
     button_light: "Knap-lys sluk"
-    e200*: "Hjul-lys sluk"
+    fuze,e200*: "Hjul-lys sluk"
   </voice>
 </phrase>
 <phrase>
diff --git a/apps/lang/deutsch.lang b/apps/lang/deutsch.lang
index b05342d..fb3ef52 100644
--- a/apps/lang/deutsch.lang
+++ b/apps/lang/deutsch.lang
@@ -3850,17 +3850,17 @@
   <source>
     *: none
     button_light: "Button Light Timeout"
-    e200*: "Wheel Light Timeout"
+    fuze,e200*: "Wheel Light Timeout"
   </source>
   <dest>
     *: none
     button_light: "Tastenbeleuchtungsdauer"
-    e200*: "Scrollradbeleuchtungsdauer"
+    fuze,e200*: "Scrollradbeleuchtungsdauer"
   </dest>
   <voice>
     *: none
     button_light: "Tastenbeleuchtungsdauer"
-    e200*: "Scrollradbeleuchtungsdauer"
+    fuze,e200*: "Scrollradbeleuchtungsdauer"
   </voice>
 </phrase>
 <phrase>
diff --git a/apps/lang/english.lang b/apps/lang/english.lang
index 6b8e085..a7b5ef7 100644
--- a/apps/lang/english.lang
+++ b/apps/lang/english.lang
@@ -3924,17 +3924,17 @@
   <source>
     *: none
     button_light: "Button Light Timeout"
-    e200*: "Wheel Light Timeout"
+    fuze,e200*: "Wheel Light Timeout"
   </source>
   <dest>
     *: none
     button_light: "Button Light Timeout"
-    e200*: "Wheel Light Timeout"
+    fuze,e200*: "Wheel Light Timeout"
   </dest>
   <voice>
     *: none
     button_light: "Button Light Timeout"
-    e200*: "Wheel Light Timeout"
+    fuze,e200*: "Wheel Light Timeout"
   </voice>
 </phrase>
 <phrase>
diff --git a/apps/lang/espanol.lang b/apps/lang/espanol.lang
index 365c635..8afa062 100644
--- a/apps/lang/espanol.lang
+++ b/apps/lang/espanol.lang
@@ -11181,17 +11181,17 @@
   <source>
     *: none
     button_light: "Button Light Timeout"
-    e200*: "Wheel Light Timeout"
+    fuze,e200*: "Wheel Light Timeout"
   </source>
   <dest>
     *: none
     button_light: "Tiempo de espera en la luz del botón"
-    e200*: "Tiempo de espera en la luz de la rueda"
+    fuze,e200*: "Tiempo de espera en la luz de la rueda"
   </dest>
   <voice>
     *: none
     button_light: "Tiempo de espera en la luz del botón"
-    e200*: "Tiempo de espera en la luz de la rueda"
+    fuze,e200*: "Tiempo de espera en la luz de la rueda"
   </voice>
 </phrase>
 <phrase>
diff --git a/apps/lang/finnish.lang b/apps/lang/finnish.lang
index 267f0d3..2754970 100644
--- a/apps/lang/finnish.lang
+++ b/apps/lang/finnish.lang
@@ -9974,17 +9974,17 @@
   <source>
     *: none
     button_light: "Button Light Timeout"
-    e200*: "Wheel Light Timeout"
+    fuze,e200*: "Wheel Light Timeout"
   </source>
   <dest>
     *: none
     button_light: "Painikevalon aikakatkaisu"
-    e200*: "Rullavalon aikakatkaisu"
+    fuze,e200*: "Rullavalon aikakatkaisu"
   </dest>
   <voice>
     *: none
     button_light: "Painikevalon aikakatkaisu"
-    e200*: "Rullavalon aikakatkaisu"
+    fuze,e200*: "Rullavalon aikakatkaisu"
   </voice>
 </phrase>
 <phrase>
diff --git a/apps/lang/francais.lang b/apps/lang/francais.lang
index ba6a456..56d95ce 100644
--- a/apps/lang/francais.lang
+++ b/apps/lang/francais.lang
@@ -3880,17 +3880,17 @@
   <source>
     *: none
     button_light: "Button Light Timeout"
-    e200*: "Wheel Light Timeout"
+    fuze,e200*: "Wheel Light Timeout"
   </source>
   <dest>
     *: none
     button_light: "Durée de l'éclairage des touches"
-    e200*: "Durée de l'éclairage de la molette"
+    fuze,e200*: "Durée de l'éclairage de la molette"
   </dest>
   <voice>
     *: none
     button_light: "Durée de l'éclairage des touches"
-    e200*: "Durée de l'éclairage de la molette"
+    fuze,e200*: "Durée de l'éclairage de la molette"
   </voice>
 </phrase>
 <phrase>
diff --git a/apps/lang/greek.lang b/apps/lang/greek.lang
index c5ba1f2..032f648 100644
--- a/apps/lang/greek.lang
+++ b/apps/lang/greek.lang
@@ -3838,17 +3838,17 @@
   <source>
     *: none
     button_light: "Button Light Timeout"
-    e200*: "Wheel Light Timeout"
+    fuze,e200*: "Wheel Light Timeout"
   </source>
   <dest>
     *: none
     button_light: "Χρόνος σβησίματος πλήκτρων"
-    e200*: "Χρόνος σβησίματος τροχού"
+    fuze,e200*: "Χρόνος σβησίματος τροχού"
   </dest>
   <voice>
     *: none
     button_light: "Χρόνος σβησίματος πλήκτρων"
-    e200*: "Χρόνος σβησίματος τροχού"
+    fuze,e200*: "Χρόνος σβησίματος τροχού"
   </voice>
 </phrase>
 <phrase>
diff --git a/apps/lang/hebrew.lang b/apps/lang/hebrew.lang
index b33c081..b8e67ad 100644
--- a/apps/lang/hebrew.lang
+++ b/apps/lang/hebrew.lang
@@ -3832,17 +3832,17 @@
   <source>
     *: none
     button_light: "Button Light Timeout"
-    e200*: "Wheel Light Timeout"
+    fuze,e200*: "Wheel Light Timeout"
   </source>
   <dest>
     *: none
     button_light: "זמן תאורת כפתור"
-    e200*: "זמן תאורת הגלגל"
+    fuze,e200*: "זמן תאורת הגלגל"
   </dest>
   <voice>
     *: none
     button_light: "Button Light Timeout"
-    e200*: "Wheel Light Timeout"
+    fuze,e200*: "Wheel Light Timeout"
   </voice>
 </phrase>
 <phrase>
diff --git a/apps/lang/italiano.lang b/apps/lang/italiano.lang
index 38daa86..22e88b2 100644
--- a/apps/lang/italiano.lang
+++ b/apps/lang/italiano.lang
@@ -3853,17 +3853,17 @@
   <source>
     *: none
     button_light: "Button Light Timeout"
-    e200*: "Wheel Light Timeout"
+    fuze,e200*: "Wheel Light Timeout"
   </source>
   <dest>
     *: none
     button_light: "Tempo di spegnimento illuminazione tasti"
-    e200*: "Tempo di spegnimento illuminazione rotella"
+    fuze,e200*: "Tempo di spegnimento illuminazione rotella"
   </dest>
   <voice>
     *: none
     button_light: "Tempo di spegnimento illuminazione tasti"
-    e200*: "Tempo di spegnimento illuminazione rotella"
+    fuze,e200*: "Tempo di spegnimento illuminazione rotella"
   </voice>
 </phrase>
 <phrase>
diff --git a/apps/lang/japanese.lang b/apps/lang/japanese.lang
index 7eee502..f190c9b 100644
--- a/apps/lang/japanese.lang
+++ b/apps/lang/japanese.lang
@@ -3834,17 +3834,17 @@
   <source>
     *: none
     button_light: "Button Light Timeout"
-    e200*: "Wheel Light Timeout"
+    fuze,e200*: "Wheel Light Timeout"
   </source>
   <dest>
     *: none
     button_light: "ボタンライトのタイムアウト"
-    e200*: "ホイールライトのタイムアウト"
+    fuze,e200*: "ホイールライトのタイムアウト"
   </dest>
   <voice>
     *: none
     button_light: "ボタンライトのタイムアウト"
-    e200*: "ホイールライトのタイムアウト"
+    fuze,e200*: "ホイールライトのタイムアウト"
   </voice>
 </phrase>
 <phrase>
diff --git a/apps/lang/magyar.lang b/apps/lang/magyar.lang
index c381c74..f652eff 100644
--- a/apps/lang/magyar.lang
+++ b/apps/lang/magyar.lang
@@ -3826,18 +3826,18 @@
   user:
   <source>
     *: none
-    e200*: "Wheel Light Timeout"
-    clip,c200,gigabeatf,mrobe100: "Button Light Timeout"
+    button_light: "Button Light Timeout"
+    fuze,e200*: "Wheel Light Timeout"
   </source>
   <dest>
     *: none
-    e200*: "Kerék világításának hossza"
-    clip,c200,gigabeatf,mrobe100: "Gomb világításának hossza"
+    button_light: "Gomb világításának hossza"
+    fuze,e200*: "Kerék világításának hossza"
   </dest>
   <voice>
     *: none
-    e200*: "Wheel Light Timeout"
-    clip,c200,gigabeatf,mrobe100: "Button Light Timeout"
+    button_light: "Button Light Timeout"
+    fuze,e200*: "Wheel Light Timeout"
   </voice>
 </phrase>
 <phrase>
diff --git a/apps/lang/nederlands.lang b/apps/lang/nederlands.lang
index 98738c8..faab193 100644
--- a/apps/lang/nederlands.lang
+++ b/apps/lang/nederlands.lang
@@ -10276,17 +10276,17 @@
   <source>
     *: none
     button_light: "Button Light Timeout"
-    e200*: "Wheel Light Timeout"
+    fuze,e200*: "Wheel Light Timeout"
   </source>
   <dest>
     *: none
     button_light: "Knoppen Licht Vertraging"
-    e200*: "Wiel Licht Vertraging"
+    fuze,e200*: "Wiel Licht Vertraging"
   </dest>
   <voice>
     *: none
     button_light: "Knoppen Licht Vertraging"
-    e200*: "Wiel Licht Vertraging"
+    fuze,e200*: "Wiel Licht Vertraging"
   </voice>
 </phrase>
 <phrase>
diff --git a/apps/lang/norsk-nynorsk.lang b/apps/lang/norsk-nynorsk.lang
index 41bae36..bb0add8 100644
--- a/apps/lang/norsk-nynorsk.lang
+++ b/apps/lang/norsk-nynorsk.lang
@@ -9871,17 +9871,17 @@
   <source>
     *: none
     button_light: "Button Light Timeout"
-    e200*: "Wheel Light Timeout"
+    fuze,e200*: "Wheel Light Timeout"
   </source>
   <dest>
     *: none
     button_light: "Avbrotstid for knappelys"
-    e200*: "Avbrotstid for hjullys"
+    fuze,e200*: "Avbrotstid for hjullys"
   </dest>
   <voice>
     *: none
     button_light: "Avbrotstid for knappelys"
-    e200*: "Avbrotstid for hjullys"
+    fuze,e200*: "Avbrotstid for hjullys"
   </voice>
 </phrase>
 <phrase>
diff --git a/apps/lang/norsk.lang b/apps/lang/norsk.lang
index e4027e6..ee36636 100644
--- a/apps/lang/norsk.lang
+++ b/apps/lang/norsk.lang
@@ -10023,17 +10023,17 @@
   <source>
     *: none
     button_light: "Button Light Timeout"
-    e200*: "Wheel Light Timeout"
+    fuze,e200*: "Wheel Light Timeout"
   </source>
   <dest>
     *: none
     button_light: "Slukketid for knapplys"
-    e200*: "Slukketid for hjullys"
+    fuze,e200*: "Slukketid for hjullys"
   </dest>
   <voice>
     *: none
     button_light: "Tid før lys på knapper slukker"
-    e200*: "Tid før lys på hjul slukker"
+    fuze,e200*: "Tid før lys på hjul slukker"
   </voice>
 </phrase>
 <phrase>
diff --git a/apps/lang/polski.lang b/apps/lang/polski.lang
index f2e1ae1..ee426df 100644
--- a/apps/lang/polski.lang
+++ b/apps/lang/polski.lang
@@ -3841,17 +3841,17 @@
   <source>
     *: none
     button_light: "Button Light Timeout"
-    e200*: "Wheel Light Timeout"
+    fuze,e200*: "Wheel Light Timeout"
   </source>
   <dest>
     *: none
     button_light: "Wygaszanie klawiszy"
-    e200*: "Wygaszanie koła sterującego"
+    fuze,e200*: "Wygaszanie koła sterującego"
   </dest>
   <voice>
     *: none
     button_light: "Wygaszanie klawiszy"
-    e200*: "Wygaszanie koła sterującego"
+    fuze,e200*: "Wygaszanie koła sterującego"
   </voice>
 </phrase>
 <phrase>
diff --git a/apps/lang/portugues-brasileiro.lang b/apps/lang/portugues-brasileiro.lang
index c1e256b..82cec23 100644
--- a/apps/lang/portugues-brasileiro.lang
+++ b/apps/lang/portugues-brasileiro.lang
@@ -3851,17 +3851,17 @@
   <source>
     *: none
     button_light: "Button Light Timeout"
-    e200*: "Wheel Light Timeout"
+    fuze,e200*: "Wheel Light Timeout"
   </source>
   <dest>
     *: none
     button_light: "Duração da Luz do Botão"
-    e200*: "Duração da Luz da Roda"
+    fuze,e200*: "Duração da Luz da Roda"
   </dest>
   <voice>
     *: none
     button_light: "Duração da Luz do Botão"
-    e200*: "Duração da Luz da Roda"
+    fuze,e200*: "Duração da Luz da Roda"
   </voice>
 </phrase>
 <phrase>
diff --git a/apps/lang/romaneste.lang b/apps/lang/romaneste.lang
index f0b6354..322dc11 100644
--- a/apps/lang/romaneste.lang
+++ b/apps/lang/romaneste.lang
@@ -10303,17 +10303,17 @@
   <source>
     *: none
     button_light: "Button Light Timeout"
-    e200*: "Wheel Light Timeout"
+    fuze,e200*: "Wheel Light Timeout"
   </source>
   <dest>
     *: none
     button_light: "Timp iluminare butoane"
-    e200*: "Timp iluminare rotita"
+    fuze,e200*: "Timp iluminare rotita"
   </dest>
   <voice>
     *: none
     button_light: "Timp iluminare butoane"
-    e200*: "Timp iluminare rotita"
+    fuze,e200*: "Timp iluminare rotita"
   </voice>
 </phrase>
 <phrase>
diff --git a/apps/lang/russian.lang b/apps/lang/russian.lang
index 5f2f265..e489503 100644
--- a/apps/lang/russian.lang
+++ b/apps/lang/russian.lang
@@ -10945,17 +10945,17 @@
   <source>
     *: none
     button_light: "Button Light Timeout"
-    e200*: "Wheel Light Timeout"
+    fuze,e200*: "Wheel Light Timeout"
   </source>
   <dest>
     *: none
     button_light: "Таймаут подсветки клавиш"
-    e200*: "Таймаут подсветки колёсика"
+    fuze,e200*: "Таймаут подсветки колёсика"
   </dest>
   <voice>
     *: none
     button_light: "Таймаут подсветки клавиш"
-    e200*: "Таймаут подсветки колёсика"
+    fuze,e200*: "Таймаут подсветки колёсика"
   </voice>
 </phrase>
 <phrase>
diff --git a/apps/lang/svenska.lang b/apps/lang/svenska.lang
index d779dd9..03312ec 100644
--- a/apps/lang/svenska.lang
+++ b/apps/lang/svenska.lang
@@ -3852,17 +3852,17 @@
   <source>
     *: none
     button_light: "Button Light Timeout"
-    e200*: "Wheel Light Timeout"
+    fuze,e200*: "Wheel Light Timeout"
   </source>
   <dest>
     *: none
     button_light: "Knappbelysning"
-    e200*: "Hjulbelysning"
+    fuze,e200*: "Hjulbelysning"
   </dest>
   <voice>
     *: none
     button_light: "Knappbelysning"
-    e200*: "Hjulbelysning"
+    fuze,e200*: "Hjulbelysning"
   </voice>
 </phrase>
 <phrase>
diff --git a/apps/lang/tagalog.lang b/apps/lang/tagalog.lang
index 17c85ac..103afdf 100644
--- a/apps/lang/tagalog.lang
+++ b/apps/lang/tagalog.lang
@@ -3841,17 +3841,17 @@
  <source>
     *: none
     button_light: "Button Light Timeout"
-    e200*: "Wheel Light Timeout"
+    fuze,e200*: "Wheel Light Timeout"
  </source>
  <dest>
     *: none
     button_light: "Pahintuin buttones sa ilaw"
-    e200*: "Pahintuin gulong sa ilaw"
+    fuze,e200*: "Pahintuin gulong sa ilaw"
  </dest>
  <voice>
     *: none
     button_light: ""
-    e200*: "Wheel Light Timeout"
+    fuze,e200*: "Wheel Light Timeout"
  </voice>
 </phrase>
 <phrase>
diff --git a/apps/lang/thai.lang b/apps/lang/thai.lang
index 2d13ffa..a8d1a6f 100644
--- a/apps/lang/thai.lang
+++ b/apps/lang/thai.lang
@@ -3834,15 +3834,15 @@
   user:
   <source>
     *: none
-    e200*: "Wheel Light Timeout"
+    fuze,e200*: "Wheel Light Timeout"
   </source>
   <dest>
     *: none
-    e200*: "เวลาเปิดไฟล้อหมุน"
+    fuze,e200*: "เวลาเปิดไฟล้อหมุน"
   </dest>
   <voice>
     *: none
-    e200*: "Wheel Light Timeout"
+    fuze,e200*: "Wheel Light Timeout"
   </voice>
 </phrase>
 <phrase>
diff --git a/firmware/target/arm/as3525/sansa-fuze/backlight-target.h b/firmware/target/arm/as3525/sansa-fuze/backlight-target.h
index db2cecc..ddaa7f2 100644
--- a/firmware/target/arm/as3525/sansa-fuze/backlight-target.h
+++ b/firmware/target/arm/as3525/sansa-fuze/backlight-target.h
@@ -26,7 +26,8 @@
 void _backlight_off(void);
 void _backlight_set_brightness(int brightness);
 int  __backlight_is_on(void);
-
+#ifdef HAVE_BUTTON_LIGHT
 void _buttonlight_on(void);
 void _buttonlight_off(void);
 #endif
+#endif
diff --git a/firmware/target/arm/as3525/sansa-fuze/button-target.h b/firmware/target/arm/as3525/sansa-fuze/button-target.h
index c818c60..be72e1a 100644
--- a/firmware/target/arm/as3525/sansa-fuze/button-target.h
+++ b/firmware/target/arm/as3525/sansa-fuze/button-target.h
@@ -37,12 +37,12 @@
 
 /* Sandisk Sansa Fuze button codes */
 
-/* TODO: These are just a copy of the E200 */
-
 /* Main unit's buttons */
-#define BUTTON_REC          0x00000001
+#define BUTTON_HOME         0x00000001
+
 #define BUTTON_DOWN         0x00000002
 #define BUTTON_RIGHT        0x00000004
+
 #define BUTTON_LEFT         0x00000008
 #define BUTTON_SELECT       0x00000010
 #define BUTTON_UP           0x00000020
@@ -51,7 +51,11 @@
 #define BUTTON_SCROLL_BACK  0x00000080
 #define BUTTON_SCROLL_FWD   0x00000100
 
-#define BUTTON_MAIN         0x00000fff
+#define BUTTON_HOLD         0x00000200
+
+#define BUTTON_MAIN         (BUTTON_HOME|BUTTON_DOWN|BUTTON_RIGHT|BUTTON_LEFT \
+                            |BUTTON_SELECT|BUTTON_UP|BUTTON_POWER \
+                            |BUTTON_SCROLLBACK|BUTTON_SCROLL_FWD|BUTTON_HOLD)
 
 /* No Remote control */
 #define BUTTON_REMOTE 0
diff --git a/tools/configure b/tools/configure
index 244a29d..42015df 100755
--- a/tools/configure
+++ b/tools/configure
@@ -1751,7 +1751,7 @@
     output="rockbox.sansa"
     bootoutput="bootloader-fuze.sansa"
     appextra="recorder:gui"
-    plugins="yes"
+    plugins=""
     swcodec="yes"
     toolset=$scramblebitmaptools
     t_cpu="arm"
diff --git a/uisimulator/sdl/UI-fuze.bmp b/uisimulator/sdl/UI-fuze.bmp
new file mode 100644
index 0000000..02b07b6
--- /dev/null
+++ b/uisimulator/sdl/UI-fuze.bmp
Binary files differ
diff --git a/uisimulator/sdl/button.c b/uisimulator/sdl/button.c
index 840a599..614308a 100644
--- a/uisimulator/sdl/button.c
+++ b/uisimulator/sdl/button.c
@@ -950,7 +950,43 @@
     case SDLK_SPACE:
         new_btn = BUTTON_SELECT;
         break;
-
+#elif CONFIG_KEYPAD == SANSA_FUZE_PAD
+    case SDLK_KP4:
+    case SDLK_LEFT:
+        new_btn = BUTTON_LEFT;
+        break;
+    case SDLK_KP6:
+    case SDLK_RIGHT:
+        new_btn = BUTTON_RIGHT;
+        break;
+    case SDLK_KP8:
+    case SDLK_UP:
+        new_btn = BUTTON_SCROLL_BACK;
+        break;
+    case SDLK_KP2:
+    case SDLK_DOWN:
+        new_btn = BUTTON_SCROLL_FWD;
+        break;
+    case SDLK_PAGEUP:
+    case SDLK_KP9:
+        new_btn = BUTTON_UP;
+        break;
+    case SDLK_PAGEDOWN:
+    case SDLK_KP3:
+        new_btn = BUTTON_DOWN;
+        break;
+    case SDLK_KP_MINUS:
+        new_btn = BUTTON_POWER;
+        break;
+    case SDLK_KP_MULTIPLY:
+        new_btn = BUTTON_HOME;
+        break;
+    case SDLK_KP5:
+    case SDLK_SPACE:
+    case SDLK_KP_ENTER:
+    case SDLK_RETURN:
+        new_btn = BUTTON_SELECT;
+        break;
 #elif CONFIG_KEYPAD == SANSA_CLIP_PAD
     case SDLK_KP4:
     case SDLK_LEFT:
diff --git a/uisimulator/sdl/uisdl.h b/uisimulator/sdl/uisdl.h
index 4332426..5b0f944 100644
--- a/uisimulator/sdl/uisdl.h
+++ b/uisimulator/sdl/uisdl.h
@@ -436,6 +436,16 @@
 #define UI_LCD_FGCOLOR              0, 0, 0 /* foreground color of LCD (no backlight) */
 #define UI_LCD_FGCOLORLIGHT         0, 0, 0 /* foreground color of LCD (backlight) */
 
+#elif defined(SANSA_FUZE)
+#define UI_TITLE                    "Sansa Fuze"
+#define UI_WIDTH                    279 /* width of GUI window */
+#define UI_HEIGHT                   449 /* height of GUI window */
+/* high-colour */
+#define UI_LCD_POSX                 30 /* x position of lcd */
+#define UI_LCD_POSY                 31 /* y position of lcd */
+#define UI_LCD_WIDTH                LCD_WIDTH
+#define UI_LCD_HEIGHT               LCD_HEIGHT
+
 #elif defined(SANSA_CLIP)
 #define UI_TITLE                    "Sansa Clip"
 #define UI_WIDTH                    205 /* width of GUI window */