00001
00009 package org.rosmultimedia.player.samsung;
00010
00011 import java.lang.reflect.Field;
00012
00019 public enum SamsungCommand {
00020
00021 KEY_MENU(),
00022 KEY_UP(),
00023 KEY_DOWN(),
00024 KEY_LEFT(),
00025 KEY_RIGHT(),
00026 KEY_3(),
00027 KEY_VOLUP(),
00028 KEY_4(),
00029 KEY_5(),
00030 KEY_6(),
00031 KEY_VOLDOWN(),
00032 KEY_7(),
00033 KEY_8(),
00034 KEY_9(),
00035 KEY_MUTE(),
00036 KEY_CHDOWN(),
00037 KEY_0(),
00038 KEY_CHUP(),
00039 KEY_PRECH(),
00040 KEY_GREEN(),
00041 KEY_YELLOW(),
00042 KEY_CYAN(),
00043 KEY_ADDDEL(),
00044 KEY_SOURCE(),
00045 KEY_INFO(),
00046 KEY_PIP_ONOFF(),
00047 KEY_PIP_SWAP(),
00048 KEY_PLUS100(),
00049 KEY_CAPTION(),
00050 KEY_PMODE(),
00051 KEY_TTX_MIX(),
00052 KEY_TV(),
00053 KEY_PICTURE_SIZE(),
00054 KEY_AD(),
00055 KEY_PIP_SIZE(),
00056 KEY_MAGIC_CHANNEL(),
00057 KEY_PIP_SCAN(),
00058 KEY_PIP_CHUP(),
00059 KEY_PIP_CHDOWN(),
00060 KEY_DEVICE_CONNECT(),
00061 KEY_HELP(),
00062 KEY_ANTENA(),
00063 KEY_CONVERGENCE(),
00064 KEY_11(),
00065 KEY_12(),
00066 KEY_AUTO_PROGRAM(),
00067 KEY_FACTORY(),
00068 KEY_3SPEED(),
00069 KEY_RSURF(),
00070 KEY_ASPECT(),
00071 KEY_TOPMENU(),
00072 KEY_GAME(),
00073 KEY_QUICK_REPLAY(),
00074 KEY_STILL_PICTURE(),
00075 KEY_DTV(),
00076 KEY_FAVCH(),
00077 KEY_REWIND(),
00078 KEY_STOP(),
00079 KEY_PLAY(),
00080 KEY_FF(),
00081 KEY_REC(),
00082 KEY_PAUSE(),
00083 KEY_TOOLS(),
00084 KEY_INSTANT_REPLAY(),
00085 KEY_LINK(),
00086 KEY_FF_(),
00087 KEY_GUIDE(),
00088 KEY_REWIND_(),
00089 KEY_ANGLE(),
00090 KEY_RESERVED1(),
00091 KEY_ZOOM1(),
00092 KEY_PROGRAM(),
00093 KEY_BOOKMARK(),
00094 KEY_DISC_MENU(),
00095 KEY_PRINT(),
00096 KEY_RETURN(),
00097 KEY_SUB_TITLE(),
00098 KEY_CLEAR(),
00099 KEY_VCHIP(),
00100 KEY_REPEAT(),
00101 KEY_DOOR(),
00102 KEY_OPEN(),
00103 KEY_WHEEL_LEFT(),
00104 KEY_POWER(),
00105 KEY_SLEEP(),
00106 KEY_2(),
00107 KEY_DMA(),
00108 KEY_TURBO(),
00109 KEY_1(),
00110 KEY_FM_RADIO(),
00111 KEY_DVR_MENU(),
00112 KEY_MTS(),
00113 KEY_PCMODE(),
00114 KEY_TTX_SUBFACE(),
00115 KEY_CH_LIST(),
00116 KEY_RED(),
00117 KEY_DNIe(),
00118 KEY_SRS(),
00119 KEY_CONVERT_AUDIO_MAINSUB(),
00120 KEY_MDC(),
00121 KEY_SEFFECT(),
00122 KEY_DVR(),
00123 KEY_DTV_SIGNAL(),
00124 KEY_LIVE(),
00125 KEY_PERPECT_FOCUS(),
00126 KEY_HOME(),
00127 KEY_ESAVING(),
00128 KEY_WHEEL_RIGHT(),
00129 KEY_CONTENTS(),
00130 KEY_VCR_MODE(),
00131 KEY_CATV_MODE(),
00132 KEY_DSS_MODE(),
00133 KEY_TV_MODE(),
00134 KEY_DVD_MODE(),
00135 KEY_STB_MODE(),
00136 KEY_CALLER_ID(),
00137 KEY_SCALE(),
00138 KEY_ZOOM_MOVE(),
00139 KEY_CLOCK_DISPLAY(),
00140 KEY_AV1(),
00141 KEY_SVIDEO1(),
00142 KEY_COMPONENT1(),
00143 KEY_SETUP_CLOCK_TIMER(),
00144 KEY_COMPONENT2(),
00145 KEY_MAGIC_BRIGHT(),
00146 KEY_DVI(),
00147 KEY_HDMI(),
00148 KEY_W_LINK(),
00149 KEY_DTV_LINK(),
00150 KEY_APP_LIST(),
00151 KEY_BACK_MHP(),
00152 KEY_ALT_MHP(),
00153 KEY_DNSe(),
00154 KEY_RSS(),
00155 KEY_ENTERTAINMENT(),
00156 KEY_ENTER(),
00157 KEY_ID_INPUT(),
00158 KEY_ID_SETUP(),
00159 KEY_ANYNET(),
00160 KEY_POWEROFF(),
00161 KEY_POWERON(),
00162 KEY_ANYVIEW(),
00163 KEY_MS(),
00164 KEY_MORE(),
00165 KEY_PANNEL_POWER(),
00166 KEY_PANNEL_CHUP(),
00167 KEY_PANNEL_CHDOWN(),
00168 KEY_PANNEL_VOLUP(),
00169 KEY_PANNEL_VOLDOW(),
00170 KEY_PANNEL_ENTER(),
00171 KEY_PANNEL_MENU(),
00172 KEY_PANNEL_SOURCE(),
00173 KEY_AV2(),
00174 KEY_AV3(),
00175 KEY_SVIDEO2(),
00176 KEY_SVIDEO3(),
00177 KEY_ZOOM2(),
00178 KEY_PANORAMA(),
00179 KEY_4_3(),
00180 KEY_16_9(),
00181 KEY_DYNAMIC(),
00182 KEY_STANDARD(),
00183 KEY_MOVIE1(),
00184 KEY_CUSTOM(),
00185 KEY_AUTO_ARC_RESET(),
00186 KEY_AUTO_ARC_LNA_ON(),
00187 KEY_AUTO_ARC_LNA_OFF(),
00188 KEY_AUTO_ARC_ANYNET_MODE_OK(),
00189 KEY_AUTO_ARC_ANYNET_AUTO_START(),
00190 KEY_AUTO_FORMAT(),
00191 KEY_DNET(),
00192 KEY_HDMI1(),
00193 KEY_AUTO_ARC_CAPTION_ON(),
00194 KEY_AUTO_ARC_CAPTION_OFF(),
00195 KEY_AUTO_ARC_PIP_DOUBLE(),
00196 KEY_AUTO_ARC_PIP_LARGE(),
00197 KEY_AUTO_ARC_PIP_SMALL(),
00198 KEY_AUTO_ARC_PIP_WIDE(),
00199 KEY_AUTO_ARC_PIP_LEFT_TOP(),
00200 KEY_AUTO_ARC_PIP_RIGHT_TOP(),
00201 KEY_AUTO_ARC_PIP_LEFT_BOTTOM(),
00202 KEY_AUTO_ARC_PIP_RIGHT_BOTTOM(),
00203 KEY_AUTO_ARC_PIP_CH_CHANGE(),
00204 KEY_AUTO_ARC_AUTOCOLOR_SUCCESS(),
00205 KEY_AUTO_ARC_AUTOCOLOR_FAIL(),
00206 KEY_AUTO_ARC_C_FORCE_AGING(),
00207 KEY_AUTO_ARC_USBJACK_INSPECT(),
00208 KEY_AUTO_ARC_JACK_IDENT(),
00209 KEY_NINE_SEPERATE(),
00210 KEY_ZOOM_IN(),
00211 KEY_ZOOM_OUT(),
00212 KEY_MIC(),
00213 KEY_HDMI2(),
00214 KEY_HDMI3(),
00215 KEY_AUTO_ARC_CAPTION_KOR(),
00216 KEY_AUTO_ARC_CAPTION_ENG(),
00217 KEY_AUTO_ARC_PIP_SOURCE_CHANGE(),
00218 KEY_HDMI4(),
00219 KEY_AUTO_ARC_ANTENNA_AIR(),
00220 KEY_AUTO_ARC_ANTENNA_CABLE(),
00221 KEY_AUTO_ARC_ANTENNA_SATELLITE(),
00222 KEY_EXT1(),
00223 KEY_EXT2(),
00224 KEY_EXT3(),
00225 KEY_EXT4(),
00226 KEY_EXT5(),
00227 KEY_EXT6(),
00228 KEY_EXT7(),
00229 KEY_EXT8(),
00230 KEY_EXT9(),
00231 KEY_EXT10(),
00232 KEY_EXT11(),
00233 KEY_EXT12(),
00234 KEY_EXT13(),
00235 KEY_EXT14(),
00236 KEY_EXT15(),
00237 KEY_EXT16(),
00238 KEY_EXT17(),
00239 KEY_EXT18(),
00240 KEY_EXT19(),
00241 KEY_EXT20(),
00242 KEY_EXT21(),
00243 KEY_EXT22(),
00244 KEY_EXT23(),
00245 KEY_EXT24(),
00246 KEY_EXT25(),
00247 KEY_EXT26(),
00248 KEY_EXT27(),
00249 KEY_EXT28(),
00250 KEY_EXT29(),
00251 KEY_EXT30(),
00252 KEY_EXT31(),
00253 KEY_EXT32(),
00254 KEY_EXT33(),
00255 KEY_EXT34(),
00256 KEY_EXT35(),
00257 KEY_EXT36(),
00258 KEY_EXT37(),
00259 KEY_EXT38(),
00260 KEY_EXT39(),
00261 KEY_EXT40(),
00262 KEY_EXT41();
00263
00264 public final static String KEY = "KEY_";
00265
00266 private SamsungCommand() {
00267 this.value = null;
00268 }
00269
00270 private SamsungCommand(final String value) {
00271 this.value = value;
00272 }
00273
00274 private SamsungCommand(final SamsungCommand otherKey) {
00275 this(otherKey.getValue());
00276 }
00277
00278 private String value;
00279
00280 public String getValue() {
00281 String result = this.value;
00282
00283 if (value == null) {
00284 result = this.name();
00285 }
00286
00287 return result;
00288 }
00289
00290 public String toString() {
00291 return this.getClass().getName();
00292 }
00293
00299 public static SamsungCommand fromName(final String name) {
00300 String realName;
00301 SamsungCommand ret = null;
00302
00303 if (name.lastIndexOf('.') > 0) {
00304
00305 realName = name.substring(name.lastIndexOf('.') + 1);
00306 } else {
00307 realName = name;
00308 }
00309
00310 try {
00311 final Field field =
00312 SamsungCommand.class.getField(realName.toUpperCase());
00313
00314 if (field.isEnumConstant()) {
00315 ret = (SamsungCommand) field.get(SamsungCommand.class);
00316 }
00317 } catch (final NoSuchFieldException e) {
00318
00319 } catch (final IllegalAccessException e) {
00320
00321 }
00322 return ret;
00323 }
00324 }