package com.nutiteq.controls; import javax.microedition.lcdui.Canvas; /** * A wrapper around {@link UserDefinedKeysMapping} that defines MGMaps style * move/zoom key actions. */ public class MGMapsKeysHandler implements ControlKeysHandler { private final UserDefinedKeysMapping keysMapping; public MGMapsKeysHandler() { keysMapping = new UserDefinedKeysMapping(); //default keys keysMapping.defineKey(ControlKeys.MOVE_UP_KEY, -1); keysMapping.defineKey(ControlKeys.MOVE_DOWN_KEY, -2); keysMapping.defineKey(ControlKeys.MOVE_LEFT_KEY, -3); keysMapping.defineKey(ControlKeys.MOVE_RIGHT_KEY, -4); keysMapping.defineKey(ControlKeys.SELECT_KEY, -5); //MPowerPlayer keysMapping.defineKey(ControlKeys.MOVE_UP_KEY, 38); keysMapping.defineKey(ControlKeys.MOVE_DOWN_KEY, 40); keysMapping.defineKey(ControlKeys.MOVE_LEFT_KEY, 37); keysMapping.defineKey(ControlKeys.MOVE_RIGHT_KEY, 39); keysMapping.defineKey(ControlKeys.SELECT_KEY, 10); //Blackberry keysMapping.defineKey(ControlKeys.MOVE_UP_KEY, Canvas.UP); keysMapping.defineKey(ControlKeys.MOVE_DOWN_KEY, Canvas.DOWN); keysMapping.defineKey(ControlKeys.MOVE_LEFT_KEY, Canvas.LEFT); keysMapping.defineKey(ControlKeys.MOVE_RIGHT_KEY, Canvas.RIGHT); keysMapping.defineKey(ControlKeys.SELECT_KEY, Canvas.FIRE); keysMapping.defineKey(ControlKeys.SELECT_KEY, -8); //Numeric keys keysMapping.defineKey(ControlKeys.MOVE_UP_KEY, Canvas.KEY_NUM2); keysMapping.defineKey(ControlKeys.MOVE_DOWN_KEY, Canvas.KEY_NUM8); keysMapping.defineKey(ControlKeys.MOVE_LEFT_KEY, Canvas.KEY_NUM4); keysMapping.defineKey(ControlKeys.MOVE_RIGHT_KEY, Canvas.KEY_NUM6); keysMapping.defineKey(ControlKeys.SELECT_KEY, Canvas.KEY_NUM5); //Zoom keys keysMapping.defineKey(ControlKeys.ZOOM_IN_KEY, Canvas.KEY_POUND); // 'i' and 'o' for zooming In and Out on phones with full keyboards keysMapping.defineKey(ControlKeys.ZOOM_IN_KEY, 'i'); // 'q' and 'p' or 'q' and 'a' for zooming In and Out on phones with full keyboards keysMapping.defineKey(ControlKeys.ZOOM_IN_KEY, 'q'); // '+' and '-' for zooming in and out keysMapping.defineKey(ControlKeys.ZOOM_IN_KEY, '+'); // Vol'+' on Motorola KRZR K1 and other Motorolas keysMapping.defineKey(ControlKeys.ZOOM_IN_KEY, -100); // Vol'+' on Blackberry Pearl keysMapping.defineKey(ControlKeys.ZOOM_IN_KEY, -150); // Vol'+' on Sony-Ericssons keysMapping.defineKey(ControlKeys.ZOOM_IN_KEY, -36); // Vol'+' on Sony-Ericsson P990 keysMapping.defineKey(ControlKeys.ZOOM_IN_KEY, -38); keysMapping.defineKey(ControlKeys.ZOOM_OUT_KEY, Canvas.KEY_STAR); // 'i' and 'o' for zooming In and Out on phones with full keyboards keysMapping.defineKey(ControlKeys.ZOOM_OUT_KEY, 'o'); // 'q' and 'p' or 'q' and 'a' for zooming In and Out on phones with full keyboards keysMapping.defineKey(ControlKeys.ZOOM_OUT_KEY, 'p'); keysMapping.defineKey(ControlKeys.ZOOM_OUT_KEY, 'a'); // '+' and '-' for zooming in and out keysMapping.defineKey(ControlKeys.ZOOM_OUT_KEY, '-'); // Vol'-' on Motorola KRZR K1 and other Motorolas keysMapping.defineKey(ControlKeys.ZOOM_OUT_KEY, -101); // Vol'-' on Blackberry Pearl keysMapping.defineKey(ControlKeys.ZOOM_OUT_KEY, -151); // Vol'-' on Sony-Ericssons keysMapping.defineKey(ControlKeys.ZOOM_OUT_KEY, -37); // Vol'-' on Sony-Ericsson P990 keysMapping.defineKey(ControlKeys.ZOOM_OUT_KEY, -39); } public int getKeyActionCode(final int keyCode) { return keysMapping.getKeyActionCode(keyCode); } }