    protected Key createKeyFromXml(Resources res, Row parent, int x, int y, 
            XmlResourceParser parser) {
        Key key = super.createKeyFromXml(res, parent, x, y, parser);
        if (key.codes[0] == 10) 
        {
            mEnterKey = key;
        }
        else if ((key.codes[0] == Keyboard.KEYCODE_MODE_CHANGE) ||
        		 (key.codes[0] == AnyKeyboard.KEYCODE_LANG_CHANGE))
        {
        	if (SoftKeyboard.mChangeKeysMode.equals("2"))
        	{
        		key.label = "";
        		key.height = 0;
        		key.width = 0;
        	}
        }
        else
        {
        	if (isAlphabetKey(key))
        	{
        		key.label = ""+((char)key.codes[0]); 
        	}
        }
        Log.v("AnySoftKeyboard", "Key '"+key.codes[0]+"' will have - width: "+key.width+", height:"+key.height+", text: '"+key.label+"'.");
        return key;
    }

    protected Key createKeyFromXml(Resources res, Row parent, int x, int y, 
            XmlResourceParser parser) {
        Key key = super.createKeyFromXml(res, parent, x, y, parser);
        if (key.codes[0] == 10) 
        {
            mEnterKey = key;
        }
        else if ((key.codes[0] == Keyboard.KEYCODE_MODE_CHANGE) ||
        		 (key.codes[0] == AnyKeyboard.KEYCODE_LANG_CHANGE))
        {
        	if (SoftKeyboard.mChangeKeysMode.equals("2"))
        	{
        		key.label = null;
        		key.height = 0;
        		key.width = 0;
        	}
        }
        else
        {
        	if (isAlphabetKey(key))
        	{
        		key.label = ""+((char)key.codes[0]); 
        	}
        }
        Log.v("AnySoftKeyboard", "Key '"+key.codes[0]+"' will have - width: "+key.width+", height:"+key.height+", text: '"+key.label+"'.");
        return key;
    }
