Virtual keyboard on Q10 for foreign languages?

Hey there,
On the Q10, when typing we have the ability to switch between different languages; however, if you are typing in Chinese or Hebrew for instance you don't see the letter/charecters on a keyboard. Is there a way to have a keyboard displayed for each language when switching to a language other than English?
Thanks,

Hello wissdd01
Welcome to the BlackBerry Support Community Forums.
Can you please confirm you are looking to change the language of the input text? As the BlackBerry Q10 smartphone has a physical keyboard and cannot be easily changed.
To change the input language of your BlackBerry Q10 smartphone please select the following:
Settings>Language and Input>Language
Settings>Language and Input>Region
I look forward to your reply wissdd01
Goose947
Come follow your BlackBerry Technical Team on Twitter! @BlackBerryHelp
Be sure to click Like! for those who have helped you.
Click Accept as Solution for posts that have solved your issue(s)!

Similar Messages

  • Background of Virtual keyboard in iOS8 for iPad not display properly when pop up in Column mode.

    Background of Virtual keyboard in iOS8 for iPad not display properly when pop up in Column mode.
    Device:iPad 4
    OS:iOS8.0
    Repro Steps:
    1.Navigate to any page that virtual keyboard will be used.
    2.Use your finger slide on virtual keyboard to make it in Column mode.
    3. Hide the virtual keyboard in Column mode.
    4.Tap on any field to use the keyboard again.
    Actually result:
    Background of Virtual keyboard not display properly when pop up in Column mode.(It's fine in iOS7)
    Please refer to the image:

    Are you running the latest Adobe Reader Version i.e. 11.0.1? Can you please share the file where you are encountering this issue to [email protected]?

  • Any advice for FOREIGN language lyrics?

    Pearlyrics can only search for English language lyrics .. is there an equivalent for foreign languages such as Chinese and French?

    Is there any way to change Apple's default fonts for Greek and Hebrew into these other fonts?
    No.
    But word processors often have features like "styles" where you set the font, if that helps. Nisus Writer has a system of preferences where the font can be set for each language.

  • Poor keyboard when used in foreign languages using accented characters

    I'm looking for a replacement to the built-in virtual keyboard of the iPad (same thing for the iPod or the iPhone). This keyboard is fun to use in english but carry lot of problems for someone who want to write in foreign languages, where accented characters are used. Those characters are available, but in such way that they are unusable for someone who need to do serious work, let say in french, german or spanish.
    I can't find an App that do this job. Is there one?
    (By the way, the best will be that Apple offer this choice in the next iOS...)
    Thanks

    Sorry, there will be no immediate or short-term fixes through an app.
    Those who need or want to do "... serious work..." on the iPad, by which I guess you must mean a lot of typing, need to get a keyboard to do it with, the current choice being between the Keyboard/Dock and a selection of wireless BT models. I'm going to assume that using one of those will give you as close to the functionality of a 'normal' setup as you're likely see on the iPad.
    As for some fix in a future iOS release, you should first think out exactly how you would like them to fix this issue, describe it in some detail, and then forward it along to Apple via their established
    FEEDBACK FORM — http://www.apple.com/feedback/ipad.html

  • Auto Speech Alignment for foreign language dubbing

    I just watched the excellent "How to use Auto Speech Alignment in Audition" video on Adobe TV, and noticed that he mentions that ASA can be utilized to add foreign language dubs to a video. I find myself in that very process at the moment, and would really like to hear how ASA can help, but all the video mentions is the fact that it supposedly can.

    I suggest also using the "Comments" section for the page that the video is on as well.  This may get more eyes here, but it _should_ get the eyes of the video's producer there.
    Anyways, the technology, does use spectral information in getting the alignment.  This is how it can achieve better results sometimes when compared to older existing technologies for automatic alignment.  For example, a waveform envelope may not be able to tell sibilance from a vowel sound when comparing an overdub vs the original field audio.  However, this is easy when looking at the spectral information and it can achieve a tighter alignment for that.
    That is, of course, assuming that the same words are being spoken in a similar way between the two clips.
    As for two different languges, I think it is a "Your Mileage May Vary" situation.  I think the intent of the suggestion is probably hoping that this feature can save you time if you wanted to get better lip-sync.  However, one can easily imagine that if the dubbed audio is stretched or squeezed too far that it (A) won't sound natrual, but more importantly (B) disrupts the performance of the voice actor.  On the other hand, if it is just doing micro adjustments it can make the timing better match that of the original mouth movements because it is making it match the timing of the original audio.
    I would suggest people with actual real-world content to try it out and preferebly post a video of your results (either positive or negative).  That would be a good way to further the discussion.

  • Problem with charsets for foreign languages

    hi
    i have a problem with a webapplication
    in my webapplication i have some code that gets data from a webpage of another webapplication. This other web application can use many foreign languages
    the problem is that those foreign languages contain some special characters, and those special chars aren't displayed the right way
    this is the code to get the data from the other webapp
    private static StringBuffer getContent(String sUrl) throws MalformedURLException, IOException  {
            StringBuffer content = new StringBuffer();
            URL url = new URL(sUrl);
            HttpURLConnection httpURLConn = (HttpURLConnection) url.openConnection();
            httpURLConn.setRequestProperty("charset", "utf-8");
            BufferedReader buffReader = new BufferedReader(new InputStreamReader(httpURLConn.getInputStream()));
            String inputLine;
            while ((inputLine = buffReader.readLine()) != null) {
                content.append("\n" + inputLine);
            return content;
        }as you see , i tried to set the encoding to UTF-8 but that did not solve the problem

    an example of those special chars
    fran�aisis displayed as
    code]
    fran��ais

  • Search Requires an Extra Space for Foreign Language

    I have a field in the index that has both english and far east characters.  When I do a search, I append the * suffix operator.  I have no problem getting results for "whic*" - it brings returns back docs starting with these characters;
    however, whenever I search for foreign characters, I have to append a space before * in order to get back results.
    I am using the 2014-10-20-Preview api version.  Am I doing something wrong or is this a bug?

    Hi Janusz,
    I ran these in fiddler, you just need to substitute <your search svc>.  I pulled out some random article title/source from the google and china news sites.
    **** NOTE ***
    I also found a bug with a GET that didn't honor the + operator, see example at the end.  I don't know if it's something I didn't setup correctly.
    /* setup index */
    POST
    https://<your search svc>.search.windows.net/indexes?api-version=2014-10-20-preview
    {"name": "testindex", 
    "fields": [
    {"name": "ID", "type": "Edm.String", "key":true, "filterable": false, "sortable": false, "facetable": false, "searchable": false},
    {"name": "Title", "type": "Edm.String", "filterable": true, "sortable": false, "facetable": false, "suggestions": false, "searchable": true},
    {"name": "Source", "type": "Edm.String",  "filterable": true, "sortable": false, "facetable": false, "suggestions": false, "searchable": true}
    /* add docs */
    POST
    https://<your search svc>.search.windows.net/indexes/testindex/docs/index?api-version=2014-10-20-preview
    "value":
    {"ID":"20019","Title":"Airbag recall 2015: What consumers need to know","Source":"OregonLive.com"},
    {"ID":"20020","Title":"The Pirate Bay clambers back online after cop raid sunk site for 7 weeks","Source":"The Register"},
    {"ID":"20021","Title":"Super Bowl blitz: T-Mobile, Sprint aim to hit hard with buzzy ads","Source":"CNet"},
    {"ID":"20022","Title":"China tightens grip on the Internet, but it didn't block all the tools to get around","Source":"Mashable"},
    {"ID":"30022","Title":"Google Now updated with support for third-party apps on Android","Source":"Mashable"},
    {"ID":"30023","Title":"中国患者在韩医院整形突陷脑死亡","Source":"中国青年网"},
    {"ID":"30024","Title":"美华裔青少年:我是“ABC”,我想学普通话(图)","Source":"中国青年网"}
    /* search "with*", returns 2 docs */
    GET
    https://<your search svc>.search.windows.net/indexes/testindex/docs?$count=true&Search=with*&api-version=2014-10-20-Preview
    /* search "中国*", no docs */
    GET
    https://<your search svc>.search.windows.net/indexes/testindex/docs?$count=true&Search=中国*&api-version=2014-10-20-Preview
    /* search "中国%20*", gets 2 rows with the space */
    GET
    https://<your search svc>.search.windows.net/indexes/testindex/docs?$count=true&Search=中国%20*&api-version=2014-10-20-Preview
    *** BUG??? ***
    /* search "with+buzz*", should return 1 but instead, it's not honoring the + operator */
    GET
    https://<your search svc>.search.windows.net/indexes/testindex/docs?$count=true&Search=with+buzz*&api-version=2014-10-20-Preview

  • VERY green  user needs translation for "foreign" language you all speak

    Well Ive read through the forums for a while now (had my imac G4 for about 2 months). Ive created numerous dvd's using slideshows (and books) from iPhoto and exporting them to iDVD 6. So far I am doing a reasonable job with the very limited knowledge I have.
    My problem is this... I want to know more in order to make more professional presentations, and by reading the forums I am attempting to do that, but you are all speaking a language I just don't understand! I have problems with the quality of transferring projects from iMovie to iDVD and whilst reading some solutions on here NONE of them make sense to me. I have to have toast??? I have to encode something or other etc etc. How do I ensure my computer is burning at 2x and not 8x?
    When I say VERY green user... I mean VERY green. Is there ANYWHERE I could get information about how to make better presentations, how to improve the quality etc in plain speak? What else do I need on my computer to make iMovie and iDVD work better for me? Is there better software that I could use?
    Any help you could give me would be most appreciated. But please, keep it simple for my (apparently) very simple mind.

    Another question here... when i used disk facility to burn the project, there didnt seem to be any option to burn it at a particular rate? Again, what am I doing wrong??
    Follow these instructions:
    File/Save as Disc Image...
    http://docs.info.apple.com/article.html?artnum=164927
    This will isolate any encoding/burning issues you may encounter. Once the disc image is created, double-click the .img and burn the virtual disc that should appear on your desktop, using Toast to burn the DVD. Disk Utility to burn the .img file. Usually, you can select a burning speed in Disk Utility.
    There are variations to this process based on which OS X you are using...
    Open Disk Utility (in Utilities folder in Applications folder), click on the virtual disc (maybe the .img) in the left-hand window. Click the Burn icon. A new window should drop down and your SuperDrive tray will open after clicking the Burn icon. Insert a recordable DVD. (Verbatim DVD-R preferred by me.) Click the Close button. Wait. Select a burn speed. If you hold your mouse cursor over the pop-up it says: "Select a slower speed to work around burn failures," so select 4x or slower for best results. Then click the Burn button.
    -->If the virtual disk selection won't allow you to click the Burn icon, use the .img file instead. This may have changed in 10.3.9 and did change in Tiger.
    Also, you can use DVD Player to play the virtual disk to check your iDVD project before burning to DVD. Launch DVD Player. File/Open VIDEO_TS (Open DVD Media... in Player 4.6). Find the VIDEO_TS folder and open that. (The audio folder is for DVD-Audio disks.)
    http://docs.info.apple.com/article.html?artnum=93006

  • Instead of accents on letters for foreign language, I get strange symbols.

    me email messages in French have strange symbols instead of accents. How can Firefox correct that?

    Check the encoding and make sure that you are using the correct Unicode or 8 bit Windows or Western encoding.
    *View > Character Encoding
    *Firefox > Web Developer > Character Encoding (Windows, Linux)

  • I'm learning foreign language. In pre version I can see the scripts. But can't now. What's happening?

    Anyone know how i can see the scripts for foreign languages? Thanks.

    I'm learning Chinese with "Popup Chinese". When listening, if tab screen i can see the script,  tab again script disappear.
    on pre version
    now
    thanks

  • How do I implement a virtual keyboard?  I will compensate for assistance.

    I have created a simple Adobe Air Windowed Application.  The application uses the mx:HTML controls to load a web page inside my application.  I have tried other means to load the web page but due to formatting issue, all other methods fail to load the page correctly.  Any solution will need to use the mx HTML controls.
    I have added a virtual keyboard to my project.  However, when I enter a text field and then select a key on the virtual keyboard, I lose focus on the text field.
    I understand the concept of event listeners and using a variable to store the text field id and using a focus event to gain the id of the text field.  However, I am not a programmer by no means and this is way above my head.  I am looking for someone to spend 30 or 60 minutes adding the needed code to my project so I can use the virtual keyboard.  I would be willing to send someone a gift card to their favorite restaurant as compensation.
    I have included the 4 files that make up my project (File names are in read text).
    Your help will be greatly appreciated.
    Best regards,
    Joe
    Main.mxml
    <?xml version="1.0" encoding="utf-8"?>
    <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
                                                 xmlns:s="library://ns.adobe.com/flex/spark"
                                                 xmlns:mx="library://ns.adobe.com/flex/mx"
                                                 xmlns:components="com.uibuzz.components.*"
                                                 xmlns:local="*"
                                                 xmlns:keyboard=".*"
                                                 xmlns:panel=".*"
                                                 showStatusBar="false"
                                                 alwaysInFront="true"
                                                 creationComplete="RunFunction(event)">
              <fx:Script>
                        <![CDATA[
                                  import mx.events.FlexEvent;
                                  protected function RunFunction(event:FlexEvent):void
                                            nativeWindow.x = (Capabilities.screenResolutionX - nativeWindow.width) / 2;
                                            nativeWindow.y = (Capabilities.screenResolutionY - nativeWindow.height) / 2;
                                            // Mouse.hide();
                                            html.location = 'https://google.com';
                        ]]>
              </fx:Script>
              <fx:Script>
                        <![CDATA[
                                  // Virtual Keyboard
                                  import com.uibuzz.events.VirtualKeyboardEvent;
                                  protected function HandleKeyEvent(event:VirtualKeyboardEvent):void
                                            trace("Key pressed: " + event.keyLabel);
                        ]]>
              </fx:Script>
              <mx:HTML id="html"
                        paintsDefaultBackground="false"
                        width="100%"
                        height="100%" x="0" y="0"/>
              <fx:Declarations>
                        <!-- Place non-visual elements (e.g., services, value objects) here -->
              </fx:Declarations>
    <components:VirtualKeyboard x="325" y="770" KeyClicked="HandleKeyEvent(event)"/>
    </s:WindowedApplication>
    Main-app.aml
    <?xml version="1.0" encoding="utf-8" standalone="no"?>
    <application xmlns="http://ns.adobe.com/air/application/2.5">
    <!-- Adobe AIR Application Descriptor File Template.
              Specifies parameters for identifying, installing, and launching AIR applications.
              xmlns - The Adobe AIR namespace: http://ns.adobe.com/air/application/2.5
                                  The last segment of the namespace specifies the version
                                  of the AIR runtime required for this application to run.
              minimumPatchLevel - The minimum patch level of the AIR runtime required to run
                                  the application. Optional.
    -->
              <!-- A universally unique application identifier. Must be unique across all AIR applications.
              Using a reverse DNS-style name as the id is recommended. (Eg. com.example.ExampleApplication.) Required. -->
              <id>Main</id>
              <!-- Used as the filename for the application. Required. -->
              <filename>Virtual Keyboard</filename>
              <!-- The name that is displayed in the AIR application installer.
              May have multiple values for each language. See samples or xsd schema file. Optional. -->
              <name></name>
              <!-- A string value of the format <0-999>.<0-999>.<0-999> that represents application version which can be used to check for application upgrade.
              Values can also be 1-part or 2-part. It is not necessary to have a 3-part value.
              An updated version of application must have a versionNumber value higher than the previous version. Required for namespace >= 2.5 . -->
              <versionNumber>1.0.0</versionNumber>
              <!-- A string value (such as "v1", "2.5", or "Alpha 1") that represents the version of the application, as it should be shown to users. Optional. -->
              <!-- <versionLabel></versionLabel> -->
              <!-- Description, displayed in the AIR application installer.
              May have multiple values for each language. See samples or xsd schema file. Optional. -->
              <!-- <description></description> -->
              <!-- Copyright information. Optional -->
              <!-- <copyright></copyright> -->
              <!-- Publisher ID. Used if you're updating an application created prior to 1.5.3 -->
              <!-- <publisherID></publisherID> -->
              <!-- Settings for the application's initial window. Required. -->
              <initialWindow>
                        <!-- The main SWF or HTML file of the application. Required. -->
                        <!-- Note: In Flash Builder, the SWF reference is set automatically. -->
                        <content>[This value will be overwritten by Flash Builder in the output app.xml]</content>
                        <!-- The title of the main window. Optional. -->
                        <!-- <title></title> -->
                        <!-- The type of system chrome to use (either "standard" or "none"). Optional. Default standard. -->
              <systemChrome>none</systemChrome>
                        <!-- Whether the window is transparent. Only applicable when systemChrome is none. Optional. Default false. -->
              <transparent>false</transparent>
                        <!-- Whether the window is initially visible. Optional. Default false. -->
              <visible>false</visible>
                        <!-- Whether the user can minimize the window. Optional. Default true. -->
              <minimizable>false</minimizable>
                        <!-- Whether the user can maximize the window. Optional. Default true. -->
              <maximizable>false</maximizable>
                        <!-- Whether the user can resize the window. Optional. Default true. -->
              <resizable>false</resizable>
                        <!-- The window's initial width in pixels. Optional. -->
              <width>1280</width>
                        <!-- The window's initial height in pixels. Optional. -->
              <height>1024</height>
                        <!-- The window's initial x position. Optional. -->
                        <!-- <x></x> -->
                        <!-- The window's initial y position. Optional. -->
                        <!-- <y></y> -->
                        <!-- The window's minimum size, specified as a width/height pair in pixels, such as "400 200". Optional. -->
              <minSize>1280 1024</minSize>
              <!-- <minSize>1024 768</minSize> -->
                        <!-- The window's initial maximum size, specified as a width/height pair in pixels, such as "1600 1200". Optional. -->
              <maxSize>1280 1024</maxSize>
              <!-- <maxSize>1024 768</maxSize> -->
              </initialWindow>
              <!-- We recommend omitting the supportedProfiles element, -->
              <!-- which in turn permits your application to be deployed to all -->
              <!-- devices supported by AIR. If you wish to restrict deployment -->
              <!-- (i.e., to only mobile devices) then add this element and list -->
              <!-- only the profiles which your application does support. -->
              <!-- <supportedProfiles>desktop extendedDesktop mobileDevice extendedMobileDevice</supportedProfiles> -->
              <!-- The subpath of the standard default installation location to use. Optional. -->
              <!-- <installFolder></installFolder> -->
              <!-- The subpath of the Programs menu to use. (Ignored on operating systems without a Programs menu.) Optional. -->
              <!-- <programMenuFolder></programMenuFolder> -->
              <!-- The icon the system uses for the application. For at least one resolution,
              specify the path to a PNG file included in the AIR package. Optional. -->
              <!-- <icon>
                        <image16x16></image16x16>
                        <image32x32></image32x32>
                        <image36x36></image36x36>
                        <image48x48></image48x48>
                        <image72x72></image72x72>
                        <image128x128></image128x128>
              </icon> -->
              <!-- Whether the application handles the update when a user double-clicks an update version
              of the AIR file (true), or the default AIR application installer handles the update (false).
              Optional. Default false. -->
              <!-- <customUpdateUI></customUpdateUI> -->
              <!-- Whether the application can be launched when the user clicks a link in a web browser.
              Optional. Default false. -->
              <!-- <allowBrowserInvocation></allowBrowserInvocation> -->
              <!-- Listing of file types for which the application can register. Optional. -->
              <!-- <fileTypes> -->
                        <!-- Defines one file type. Optional. -->
                        <!-- <fileType> -->
                                  <!-- The name that the system displays for the registered file type. Required. -->
                                  <!-- <name></name> -->
                                  <!-- The extension to register. Required. -->
                                  <!-- <extension></extension> -->
                                  <!-- The description of the file type. Optional. -->
                                  <!-- <description></description> -->
                                  <!-- The MIME content type. -->
                                  <!-- <contentType></contentType> -->
                                  <!-- The icon to display for the file type. Optional. -->
                                  <!-- <icon>
                                            <image16x16></image16x16>
                                            <image32x32></image32x32>
                                            <image48x48></image48x48>
                                            <image128x128></image128x128>
                                  </icon> -->
                        <!-- </fileType> -->
              <!-- </fileTypes> -->
              <!-- Specify Android specific tags that get passed to AndroidManifest.xml file. -->
              <!--<android>
                        <manifestAdditions>
                        <![CDATA[
                                  <manifest android:installLocation="auto">
                                            <uses-permission android:name="android.permission.INTERNET"/>
                                            <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
                                            <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
                                            <uses-configuration android:reqFiveWayNav="true"/>
                                            <supports-screens android:normalScreens="true"/>
                                            <uses-feature android:required="true" android:name="android.hardware.touchscreen.multitouch"/>
                                            <application android:enabled="true">
                                                      <activity android:excludeFromRecents="false">
                                                                <intent-filter>
                                                                          <action android:name="android.intent.action.MAIN"/>
                                                                          <category android:name="android.intent.category.LAUNCHER"/>
                                                                </intent-filter>
                                                      </activity>
                                            </application>
                                  </manifest>
                        ]]>
                        </manifestAdditions>
              </android> -->
              <!-- End of the schema for adding the android specific tags in AndroidManifest.xml file -->
    </application>
    VirtualKeyboardEvent.as
    package com.uibuzz.events
        import flash.events.Event;
        public class VirtualKeyboardEvent extends Event
            public var keyLabel:String;
            public function VirtualKeyboardEvent(type:String)
                super(type);
            override public function clone():Event
                var eventObj:VirtualKeyboardEvent = new VirtualKeyboardEvent(type);
                eventObj.keyLabel = this.keyLabel;
                return eventObj;
    VirtualKeyboard.mxml
    <?xml version="1.0" encoding="utf-8"?>
    <s:Group xmlns:fx="http://ns.adobe.com/mxml/2009"
             xmlns:s="library://ns.adobe.com/flex/spark"
             xmlns:mx="library://ns.adobe.com/flex/mx"
             width="610" height="215" currentState="Lowercase">
              <s:layout>
                        <s:BasicLayout/>
              </s:layout>
        <fx:Metadata>
            [Event(name="KeyClicked", type="com.uibuzz.events.VirtualKeyboardEvent")]
        </fx:Metadata>
        <fx:Script>
            <![CDATA[
                import com.uibuzz.events.VirtualKeyboardEvent;
                protected function handleShiftButton(event:MouseEvent):void
                    if (this.currentState == "Lowercase")
                        this.currentState = "Uppercase";
                    else
                        this.currentState = "Lowercase";
                protected function handleButtonClick(event:MouseEvent):void
                    var e:VirtualKeyboardEvent = new VirtualKeyboardEvent("KeyClicked");
                    e.keyLabel = event.currentTarget.label;
                    dispatchEvent(e);
            ]]>
        </fx:Script>
        <s:states>
            <s:State name="Lowercase"/>
            <s:State name="Uppercase"/>
        </s:states>
              <fx:Declarations>
                        <!-- Place non-visual elements (e.g., services, value objects) here -->
              </fx:Declarations>
        <s:Button id="btn1" x="50" y="10" width="32" height="32" label="1"
                  click="handleButtonClick(event)"
                  label.Uppercase="!"/>
        <s:Button id="btnTilde" x="10" y="10" width="32" height="32" label="`"
                  click="handleButtonClick(event)"
                  label.Uppercase="~"/>
        <s:Button id="btn2" x="90" y="10" width="32" height="32" label="2"
                  click="handleButtonClick(event)"
                  label.Uppercase="@" fontSize.Uppercase="11"/>
        <s:Button id="btn3" x="130" y="10" width="32" height="32" label="3"
                  click="handleButtonClick(event)"
                  label.Uppercase="#"/>
        <s:Button id="btn4" x="170" y="10" width="32" height="32" label="4"
                  click="handleButtonClick(event)"
                  label.Uppercase="$"/>
        <s:Button id="btn5" x="210" y="10" width="32" height="32" label="5"
                  click="handleButtonClick(event)"
                  label.Uppercase="%"/>
        <s:Button id="btn6" x="250" y="10" width="32" height="32" label="6"
                  click="handleButtonClick(event)"
                  label.Uppercase="^"/>
        <s:Button id="btn7" x="290" y="10" width="32" height="32" label="7"
                  click="handleButtonClick(event)"
                  label.Uppercase="&amp;"/>
        <s:Button id="btn8" x="330" y="10" width="32" height="32" label="8"
                  click="handleButtonClick(event)"
                  label.Uppercase="*"/>
        <s:Button id="btn9" x="370" y="10" width="32" height="32" label="9"
                  click="handleButtonClick(event)"
                  label.Uppercase="("/>
        <s:Button id="btn0" x="410" y="10" width="32" height="32" label="0"
                  click="handleButtonClick(event)"
                  label.Uppercase=")"/>
        <s:Button id="btnMinus" x="450" y="10" width="32" height="32" label="-"
                  click="handleButtonClick(event)"
                  label.Uppercase="_"/>
        <s:Button id="btnEquals" x="490" y="10" width="32" height="32" label="="
                  click="handleButtonClick(event)"
                  label.Uppercase="+"/>
        <s:Button id="btnDelete" x="530" y="10" width="70" height="32" label="Delete" click="handleButtonClick(event)"/>
        <s:Button id="btnEnter" x="530" y="90" width="70" height="32" label="Enter" click="handleButtonClick(event)"/>
        <s:Button id="btnRightShift" x="510" y="130" width="70" height="32" label="Shift"
                  click="handleShiftButton(event)"/>
        <s:Button id="btnLeftShift" x="30" y="130" width="70" height="32" label="Shift"
                  click="handleShiftButton(event)"/>
        <s:Button id="btnTab" x="10" y="50" width="50" height="32" label="Tab" click="handleButtonClick(event)"/>
        <s:Button id="btnQ" x="70" y="50" width="32" height="32" label="q"
                  click="handleButtonClick(event)"
                  label.Uppercase="Q"/>
        <s:Button id="btnW" x="110" y="50" width="32" height="32" label="w"
                  click="handleButtonClick(event)"
                  label.Uppercase="W"/>
        <s:Button id="btnE" x="150" y="50" width="32" height="32" label="e"
                  click="handleButtonClick(event)"
                  label.Uppercase="E"/>
        <s:Button id="btnR" x="190" y="50" width="32" height="32" label="r"
                  click="handleButtonClick(event)"
                  label.Uppercase="R"/>
        <s:Button id="btnT" x="230" y="50" width="32" height="32" label="t"
                  click="handleButtonClick(event)"
                  label.Uppercase="T"/>
        <s:Button id="btnY" x="270" y="50" width="32" height="32" label="y"
                  click="handleButtonClick(event)"
                  label.Uppercase="Y"/>
        <s:Button id="btnU" x="310" y="50" width="32" height="32" label="u"
                  click="handleButtonClick(event)"
                  label.Uppercase="U"/>
        <s:Button id="btnI" x="350" y="50" width="32" height="32" label="i"
                  click="handleButtonClick(event)"
                  label.Uppercase="I"/>
        <s:Button id="btnO" x="390" y="50" width="32" height="32" label="o"
                  click="handleButtonClick(event)"
                  label.Uppercase="O"/>
        <s:Button id="btnP" x="430" y="50" width="32" height="32" label="p"
                  click="handleButtonClick(event)"
                  label.Uppercase="P"/>
        <s:Button id="btnLeftBracket" x="470" y="50" width="32" height="32" label="["
                  click="handleButtonClick(event)"
                  label.Uppercase="{"/>
        <s:Button id="btnRightBracket" x="510" y="50" width="32" height="32" label="]"
                  click="handleButtonClick(event)"
                  label.Uppercase="}"/>
        <s:Button id="btnBackSlash" x="550" y="50" width="32" height="32" label="\"
                  click="handleButtonClick(event)"
                  label.Uppercase="|"/>
        <s:Button id="btnA" x="90" y="90" width="32" height="32" label="a"
                  click="handleButtonClick(event)"
                  label.Uppercase="A"/>
        <s:Button id="btnS" x="130" y="90" width="32" height="32" label="s"
                  click="handleButtonClick(event)"
                  label.Uppercase="S"/>
        <s:Button id="btnD" x="170" y="90" width="32" height="32" label="d"
                  click="handleButtonClick(event)"
                  label.Uppercase="D"/>
        <s:Button id="btnF" x="210" y="90" width="32" height="32" label="f"
                  click="handleButtonClick(event)"
                  label.Uppercase="F"/>
        <s:Button id="btnG" x="250" y="90" width="32" height="32" label="g"
                  click="handleButtonClick(event)"
                  label.Uppercase="G"/>
        <s:Button id="btnH" x="290" y="90" width="32" height="32" label="h"
                  click="handleButtonClick(event)"
                  label.Uppercase="H"/>
        <s:Button id="btnJ" x="330" y="90" width="32" height="32" label="j"
                  click="handleButtonClick(event)"
                  label.Uppercase="J"/>
        <s:Button id="btnK" x="370" y="90" width="32" height="32" label="k"
                  click="handleButtonClick(event)"
                  label.Uppercase="K"/>
        <s:Button id="btnL" x="410" y="90" width="32" height="32" label="l"
                  click="handleButtonClick(event)"
                  label.Uppercase="L"/>
        <s:Button id="btnSemiColon" x="450" y="90" width="32" height="32" label=";"
                  click="handleButtonClick(event)"
                  label.Uppercase=":"/>
        <s:Button id="btnQuote" x="490" y="90" width="32" height="32" label="'"
                  click="handleButtonClick(event)"
                  label.Uppercase="&quot;"/>
        <s:Button id="btnZ" x="110" y="130" width="32" height="32" label="z"
                  click="handleButtonClick(event)"
                  label.Uppercase="Z"/>
        <s:Button id="btnX" x="150" y="130" width="32" height="32" label="x"
                  click="handleButtonClick(event)"
                  label.Uppercase="X"/>
        <s:Button id="btnC" x="190" y="130" width="32" height="32" label="c"
                  click="handleButtonClick(event)"
                  label.Uppercase="C"/>
        <s:Button id="btnV" x="230" y="130" width="32" height="32" label="v"
                  click="handleButtonClick(event)"
                  label.Uppercase="V"/>
        <s:Button id="btnB" x="270" y="130" width="32" height="32" label="b"
                  click="handleButtonClick(event)"
                  label.Uppercase="B"/>
        <s:Button id="btnSpace" x="150" y="170" width="272" height="32" label="Space" click="handleButtonClick(event)"/>
        <s:Button id="btnN" x="310" y="130" width="32" height="32" label="n"
                  click="handleButtonClick(event)"
                  label.Uppercase="N"/>
        <s:Button id="btnM" x="350" y="130" width="32" height="32" label="m"
                  click="handleButtonClick(event)"
                  label.Uppercase="M"/>
        <s:Button id="btnComma" x="390" y="130" width="32" height="32" label=","
                  click="handleButtonClick(event)"
                  label.Uppercase="&lt;"/>
        <s:Button id="btnStop" x="430" y="130" width="32" height="32" label="."
                  click="handleButtonClick(event)"
                  label.Uppercase="&gt;"/>
        <s:Button id="btnForwardSlash" x="470" y="130" width="32" height="32" label="/"
                  click="handleButtonClick(event)"
                  label.Uppercase="?"/>
    </s:Group>

    I have created a simple Adobe Air Windowed Application.  The application uses the mx:HTML controls to load a web page inside my application.  I have tried other means to load the web page but due to formatting issue, all other methods fail to load the page correctly.  Any solution will need to use the mx HTML controls.
    I have added a virtual keyboard to my project.  However, when I enter a text field and then select a key on the virtual keyboard, I lose focus on the text field.
    I understand the concept of event listeners and using a variable to store the text field id and using a focus event to gain the id of the text field.  However, I am not a programmer by no means and this is way above my head.  I am looking for someone to spend 30 or 60 minutes adding the needed code to my project so I can use the virtual keyboard.  I would be willing to send someone a gift card to their favorite restaurant as compensation.
    I have included the 4 files that make up my project (File names are in read text).
    Your help will be greatly appreciated.
    Best regards,
    Joe
    Main.mxml
    <?xml version="1.0" encoding="utf-8"?>
    <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
                                                 xmlns:s="library://ns.adobe.com/flex/spark"
                                                 xmlns:mx="library://ns.adobe.com/flex/mx"
                                                 xmlns:components="com.uibuzz.components.*"
                                                 xmlns:local="*"
                                                 xmlns:keyboard=".*"
                                                 xmlns:panel=".*"
                                                 showStatusBar="false"
                                                 alwaysInFront="true"
                                                 creationComplete="RunFunction(event)">
              <fx:Script>
                        <![CDATA[
                                  import mx.events.FlexEvent;
                                  protected function RunFunction(event:FlexEvent):void
                                            nativeWindow.x = (Capabilities.screenResolutionX - nativeWindow.width) / 2;
                                            nativeWindow.y = (Capabilities.screenResolutionY - nativeWindow.height) / 2;
                                            // Mouse.hide();
                                            html.location = 'https://google.com';
                        ]]>
              </fx:Script>
              <fx:Script>
                        <![CDATA[
                                  // Virtual Keyboard
                                  import com.uibuzz.events.VirtualKeyboardEvent;
                                  protected function HandleKeyEvent(event:VirtualKeyboardEvent):void
                                            trace("Key pressed: " + event.keyLabel);
                        ]]>
              </fx:Script>
              <mx:HTML id="html"
                        paintsDefaultBackground="false"
                        width="100%"
                        height="100%" x="0" y="0"/>
              <fx:Declarations>
                        <!-- Place non-visual elements (e.g., services, value objects) here -->
              </fx:Declarations>
    <components:VirtualKeyboard x="325" y="770" KeyClicked="HandleKeyEvent(event)"/>
    </s:WindowedApplication>
    Main-app.aml
    <?xml version="1.0" encoding="utf-8" standalone="no"?>
    <application xmlns="http://ns.adobe.com/air/application/2.5">
    <!-- Adobe AIR Application Descriptor File Template.
              Specifies parameters for identifying, installing, and launching AIR applications.
              xmlns - The Adobe AIR namespace: http://ns.adobe.com/air/application/2.5
                                  The last segment of the namespace specifies the version
                                  of the AIR runtime required for this application to run.
              minimumPatchLevel - The minimum patch level of the AIR runtime required to run
                                  the application. Optional.
    -->
              <!-- A universally unique application identifier. Must be unique across all AIR applications.
              Using a reverse DNS-style name as the id is recommended. (Eg. com.example.ExampleApplication.) Required. -->
              <id>Main</id>
              <!-- Used as the filename for the application. Required. -->
              <filename>Virtual Keyboard</filename>
              <!-- The name that is displayed in the AIR application installer.
              May have multiple values for each language. See samples or xsd schema file. Optional. -->
              <name></name>
              <!-- A string value of the format <0-999>.<0-999>.<0-999> that represents application version which can be used to check for application upgrade.
              Values can also be 1-part or 2-part. It is not necessary to have a 3-part value.
              An updated version of application must have a versionNumber value higher than the previous version. Required for namespace >= 2.5 . -->
              <versionNumber>1.0.0</versionNumber>
              <!-- A string value (such as "v1", "2.5", or "Alpha 1") that represents the version of the application, as it should be shown to users. Optional. -->
              <!-- <versionLabel></versionLabel> -->
              <!-- Description, displayed in the AIR application installer.
              May have multiple values for each language. See samples or xsd schema file. Optional. -->
              <!-- <description></description> -->
              <!-- Copyright information. Optional -->
              <!-- <copyright></copyright> -->
              <!-- Publisher ID. Used if you're updating an application created prior to 1.5.3 -->
              <!-- <publisherID></publisherID> -->
              <!-- Settings for the application's initial window. Required. -->
              <initialWindow>
                        <!-- The main SWF or HTML file of the application. Required. -->
                        <!-- Note: In Flash Builder, the SWF reference is set automatically. -->
                        <content>[This value will be overwritten by Flash Builder in the output app.xml]</content>
                        <!-- The title of the main window. Optional. -->
                        <!-- <title></title> -->
                        <!-- The type of system chrome to use (either "standard" or "none"). Optional. Default standard. -->
              <systemChrome>none</systemChrome>
                        <!-- Whether the window is transparent. Only applicable when systemChrome is none. Optional. Default false. -->
              <transparent>false</transparent>
                        <!-- Whether the window is initially visible. Optional. Default false. -->
              <visible>false</visible>
                        <!-- Whether the user can minimize the window. Optional. Default true. -->
              <minimizable>false</minimizable>
                        <!-- Whether the user can maximize the window. Optional. Default true. -->
              <maximizable>false</maximizable>
                        <!-- Whether the user can resize the window. Optional. Default true. -->
              <resizable>false</resizable>
                        <!-- The window's initial width in pixels. Optional. -->
              <width>1280</width>
                        <!-- The window's initial height in pixels. Optional. -->
              <height>1024</height>
                        <!-- The window's initial x position. Optional. -->
                        <!-- <x></x> -->
                        <!-- The window's initial y position. Optional. -->
                        <!-- <y></y> -->
                        <!-- The window's minimum size, specified as a width/height pair in pixels, such as "400 200". Optional. -->
              <minSize>1280 1024</minSize>
              <!-- <minSize>1024 768</minSize> -->
                        <!-- The window's initial maximum size, specified as a width/height pair in pixels, such as "1600 1200". Optional. -->
              <maxSize>1280 1024</maxSize>
              <!-- <maxSize>1024 768</maxSize> -->
              </initialWindow>
              <!-- We recommend omitting the supportedProfiles element, -->
              <!-- which in turn permits your application to be deployed to all -->
              <!-- devices supported by AIR. If you wish to restrict deployment -->
              <!-- (i.e., to only mobile devices) then add this element and list -->
              <!-- only the profiles which your application does support. -->
              <!-- <supportedProfiles>desktop extendedDesktop mobileDevice extendedMobileDevice</supportedProfiles> -->
              <!-- The subpath of the standard default installation location to use. Optional. -->
              <!-- <installFolder></installFolder> -->
              <!-- The subpath of the Programs menu to use. (Ignored on operating systems without a Programs menu.) Optional. -->
              <!-- <programMenuFolder></programMenuFolder> -->
              <!-- The icon the system uses for the application. For at least one resolution,
              specify the path to a PNG file included in the AIR package. Optional. -->
              <!-- <icon>
                        <image16x16></image16x16>
                        <image32x32></image32x32>
                        <image36x36></image36x36>
                        <image48x48></image48x48>
                        <image72x72></image72x72>
                        <image128x128></image128x128>
              </icon> -->
              <!-- Whether the application handles the update when a user double-clicks an update version
              of the AIR file (true), or the default AIR application installer handles the update (false).
              Optional. Default false. -->
              <!-- <customUpdateUI></customUpdateUI> -->
              <!-- Whether the application can be launched when the user clicks a link in a web browser.
              Optional. Default false. -->
              <!-- <allowBrowserInvocation></allowBrowserInvocation> -->
              <!-- Listing of file types for which the application can register. Optional. -->
              <!-- <fileTypes> -->
                        <!-- Defines one file type. Optional. -->
                        <!-- <fileType> -->
                                  <!-- The name that the system displays for the registered file type. Required. -->
                                  <!-- <name></name> -->
                                  <!-- The extension to register. Required. -->
                                  <!-- <extension></extension> -->
                                  <!-- The description of the file type. Optional. -->
                                  <!-- <description></description> -->
                                  <!-- The MIME content type. -->
                                  <!-- <contentType></contentType> -->
                                  <!-- The icon to display for the file type. Optional. -->
                                  <!-- <icon>
                                            <image16x16></image16x16>
                                            <image32x32></image32x32>
                                            <image48x48></image48x48>
                                            <image128x128></image128x128>
                                  </icon> -->
                        <!-- </fileType> -->
              <!-- </fileTypes> -->
              <!-- Specify Android specific tags that get passed to AndroidManifest.xml file. -->
              <!--<android>
                        <manifestAdditions>
                        <![CDATA[
                                  <manifest android:installLocation="auto">
                                            <uses-permission android:name="android.permission.INTERNET"/>
                                            <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
                                            <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
                                            <uses-configuration android:reqFiveWayNav="true"/>
                                            <supports-screens android:normalScreens="true"/>
                                            <uses-feature android:required="true" android:name="android.hardware.touchscreen.multitouch"/>
                                            <application android:enabled="true">
                                                      <activity android:excludeFromRecents="false">
                                                                <intent-filter>
                                                                          <action android:name="android.intent.action.MAIN"/>
                                                                          <category android:name="android.intent.category.LAUNCHER"/>
                                                                </intent-filter>
                                                      </activity>
                                            </application>
                                  </manifest>
                        ]]>
                        </manifestAdditions>
              </android> -->
              <!-- End of the schema for adding the android specific tags in AndroidManifest.xml file -->
    </application>
    VirtualKeyboardEvent.as
    package com.uibuzz.events
        import flash.events.Event;
        public class VirtualKeyboardEvent extends Event
            public var keyLabel:String;
            public function VirtualKeyboardEvent(type:String)
                super(type);
            override public function clone():Event
                var eventObj:VirtualKeyboardEvent = new VirtualKeyboardEvent(type);
                eventObj.keyLabel = this.keyLabel;
                return eventObj;
    VirtualKeyboard.mxml
    <?xml version="1.0" encoding="utf-8"?>
    <s:Group xmlns:fx="http://ns.adobe.com/mxml/2009"
             xmlns:s="library://ns.adobe.com/flex/spark"
             xmlns:mx="library://ns.adobe.com/flex/mx"
             width="610" height="215" currentState="Lowercase">
              <s:layout>
                        <s:BasicLayout/>
              </s:layout>
        <fx:Metadata>
            [Event(name="KeyClicked", type="com.uibuzz.events.VirtualKeyboardEvent")]
        </fx:Metadata>
        <fx:Script>
            <![CDATA[
                import com.uibuzz.events.VirtualKeyboardEvent;
                protected function handleShiftButton(event:MouseEvent):void
                    if (this.currentState == "Lowercase")
                        this.currentState = "Uppercase";
                    else
                        this.currentState = "Lowercase";
                protected function handleButtonClick(event:MouseEvent):void
                    var e:VirtualKeyboardEvent = new VirtualKeyboardEvent("KeyClicked");
                    e.keyLabel = event.currentTarget.label;
                    dispatchEvent(e);
            ]]>
        </fx:Script>
        <s:states>
            <s:State name="Lowercase"/>
            <s:State name="Uppercase"/>
        </s:states>
              <fx:Declarations>
                        <!-- Place non-visual elements (e.g., services, value objects) here -->
              </fx:Declarations>
        <s:Button id="btn1" x="50" y="10" width="32" height="32" label="1"
                  click="handleButtonClick(event)"
                  label.Uppercase="!"/>
        <s:Button id="btnTilde" x="10" y="10" width="32" height="32" label="`"
                  click="handleButtonClick(event)"
                  label.Uppercase="~"/>
        <s:Button id="btn2" x="90" y="10" width="32" height="32" label="2"
                  click="handleButtonClick(event)"
                  label.Uppercase="@" fontSize.Uppercase="11"/>
        <s:Button id="btn3" x="130" y="10" width="32" height="32" label="3"
                  click="handleButtonClick(event)"
                  label.Uppercase="#"/>
        <s:Button id="btn4" x="170" y="10" width="32" height="32" label="4"
                  click="handleButtonClick(event)"
                  label.Uppercase="$"/>
        <s:Button id="btn5" x="210" y="10" width="32" height="32" label="5"
                  click="handleButtonClick(event)"
                  label.Uppercase="%"/>
        <s:Button id="btn6" x="250" y="10" width="32" height="32" label="6"
                  click="handleButtonClick(event)"
                  label.Uppercase="^"/>
        <s:Button id="btn7" x="290" y="10" width="32" height="32" label="7"
                  click="handleButtonClick(event)"
                  label.Uppercase="&amp;"/>
        <s:Button id="btn8" x="330" y="10" width="32" height="32" label="8"
                  click="handleButtonClick(event)"
                  label.Uppercase="*"/>
        <s:Button id="btn9" x="370" y="10" width="32" height="32" label="9"
                  click="handleButtonClick(event)"
                  label.Uppercase="("/>
        <s:Button id="btn0" x="410" y="10" width="32" height="32" label="0"
                  click="handleButtonClick(event)"
                  label.Uppercase=")"/>
        <s:Button id="btnMinus" x="450" y="10" width="32" height="32" label="-"
                  click="handleButtonClick(event)"
                  label.Uppercase="_"/>
        <s:Button id="btnEquals" x="490" y="10" width="32" height="32" label="="
                  click="handleButtonClick(event)"
                  label.Uppercase="+"/>
        <s:Button id="btnDelete" x="530" y="10" width="70" height="32" label="Delete" click="handleButtonClick(event)"/>
        <s:Button id="btnEnter" x="530" y="90" width="70" height="32" label="Enter" click="handleButtonClick(event)"/>
        <s:Button id="btnRightShift" x="510" y="130" width="70" height="32" label="Shift"
                  click="handleShiftButton(event)"/>
        <s:Button id="btnLeftShift" x="30" y="130" width="70" height="32" label="Shift"
                  click="handleShiftButton(event)"/>
        <s:Button id="btnTab" x="10" y="50" width="50" height="32" label="Tab" click="handleButtonClick(event)"/>
        <s:Button id="btnQ" x="70" y="50" width="32" height="32" label="q"
                  click="handleButtonClick(event)"
                  label.Uppercase="Q"/>
        <s:Button id="btnW" x="110" y="50" width="32" height="32" label="w"
                  click="handleButtonClick(event)"
                  label.Uppercase="W"/>
        <s:Button id="btnE" x="150" y="50" width="32" height="32" label="e"
                  click="handleButtonClick(event)"
                  label.Uppercase="E"/>
        <s:Button id="btnR" x="190" y="50" width="32" height="32" label="r"
                  click="handleButtonClick(event)"
                  label.Uppercase="R"/>
        <s:Button id="btnT" x="230" y="50" width="32" height="32" label="t"
                  click="handleButtonClick(event)"
                  label.Uppercase="T"/>
        <s:Button id="btnY" x="270" y="50" width="32" height="32" label="y"
                  click="handleButtonClick(event)"
                  label.Uppercase="Y"/>
        <s:Button id="btnU" x="310" y="50" width="32" height="32" label="u"
                  click="handleButtonClick(event)"
                  label.Uppercase="U"/>
        <s:Button id="btnI" x="350" y="50" width="32" height="32" label="i"
                  click="handleButtonClick(event)"
                  label.Uppercase="I"/>
        <s:Button id="btnO" x="390" y="50" width="32" height="32" label="o"
                  click="handleButtonClick(event)"
                  label.Uppercase="O"/>
        <s:Button id="btnP" x="430" y="50" width="32" height="32" label="p"
                  click="handleButtonClick(event)"
                  label.Uppercase="P"/>
        <s:Button id="btnLeftBracket" x="470" y="50" width="32" height="32" label="["
                  click="handleButtonClick(event)"
                  label.Uppercase="{"/>
        <s:Button id="btnRightBracket" x="510" y="50" width="32" height="32" label="]"
                  click="handleButtonClick(event)"
                  label.Uppercase="}"/>
        <s:Button id="btnBackSlash" x="550" y="50" width="32" height="32" label="\"
                  click="handleButtonClick(event)"
                  label.Uppercase="|"/>
        <s:Button id="btnA" x="90" y="90" width="32" height="32" label="a"
                  click="handleButtonClick(event)"
                  label.Uppercase="A"/>
        <s:Button id="btnS" x="130" y="90" width="32" height="32" label="s"
                  click="handleButtonClick(event)"
                  label.Uppercase="S"/>
        <s:Button id="btnD" x="170" y="90" width="32" height="32" label="d"
                  click="handleButtonClick(event)"
                  label.Uppercase="D"/>
        <s:Button id="btnF" x="210" y="90" width="32" height="32" label="f"
                  click="handleButtonClick(event)"
                  label.Uppercase="F"/>
        <s:Button id="btnG" x="250" y="90" width="32" height="32" label="g"
                  click="handleButtonClick(event)"
                  label.Uppercase="G"/>
        <s:Button id="btnH" x="290" y="90" width="32" height="32" label="h"
                  click="handleButtonClick(event)"
                  label.Uppercase="H"/>
        <s:Button id="btnJ" x="330" y="90" width="32" height="32" label="j"
                  click="handleButtonClick(event)"
                  label.Uppercase="J"/>
        <s:Button id="btnK" x="370" y="90" width="32" height="32" label="k"
                  click="handleButtonClick(event)"
                  label.Uppercase="K"/>
        <s:Button id="btnL" x="410" y="90" width="32" height="32" label="l"
                  click="handleButtonClick(event)"
                  label.Uppercase="L"/>
        <s:Button id="btnSemiColon" x="450" y="90" width="32" height="32" label=";"
                  click="handleButtonClick(event)"
                  label.Uppercase=":"/>
        <s:Button id="btnQuote" x="490" y="90" width="32" height="32" label="'"
                  click="handleButtonClick(event)"
                  label.Uppercase="&quot;"/>
        <s:Button id="btnZ" x="110" y="130" width="32" height="32" label="z"
                  click="handleButtonClick(event)"
                  label.Uppercase="Z"/>
        <s:Button id="btnX" x="150" y="130" width="32" height="32" label="x"
                  click="handleButtonClick(event)"
                  label.Uppercase="X"/>
        <s:Button id="btnC" x="190" y="130" width="32" height="32" label="c"
                  click="handleButtonClick(event)"
                  label.Uppercase="C"/>
        <s:Button id="btnV" x="230" y="130" width="32" height="32" label="v"
                  click="handleButtonClick(event)"
                  label.Uppercase="V"/>
        <s:Button id="btnB" x="270" y="130" width="32" height="32" label="b"
                  click="handleButtonClick(event)"
                  label.Uppercase="B"/>
        <s:Button id="btnSpace" x="150" y="170" width="272" height="32" label="Space" click="handleButtonClick(event)"/>
        <s:Button id="btnN" x="310" y="130" width="32" height="32" label="n"
                  click="handleButtonClick(event)"
                  label.Uppercase="N"/>
        <s:Button id="btnM" x="350" y="130" width="32" height="32" label="m"
                  click="handleButtonClick(event)"
                  label.Uppercase="M"/>
        <s:Button id="btnComma" x="390" y="130" width="32" height="32" label=","
                  click="handleButtonClick(event)"
                  label.Uppercase="&lt;"/>
        <s:Button id="btnStop" x="430" y="130" width="32" height="32" label="."
                  click="handleButtonClick(event)"
                  label.Uppercase="&gt;"/>
        <s:Button id="btnForwardSlash" x="470" y="130" width="32" height="32" label="/"
                  click="handleButtonClick(event)"
                  label.Uppercase="?"/>
    </s:Group>

  • Why the Unavailability of Foreign Language Keyboards in the US?

    I am a foreign language student (Russian), and am trying to buy a foreign language apple keyboard (preferably wireless) in the states. I know they are available in Europe (my stepdaughter confirms she can get one thriugh her apple store), yet when I try to do the same here, they deny they even exist!! (This is the case even on the online store!!!)
    I tried to order one from one of the European Stores online (actually, more than one) and it won't let me complete the order, even if I make payment in the local currency (pounds, euros, francs, rubles, or what have you).
    This is a frustrating (and in my opinion, fairly serious) problem, and I am sure I am not the only one who is going through this fiasco. I certainly don't want to pay 5x the price via a "smuggler", I would rather get peripherials FOR my apple FROM apple.
    So Apple, what gives? There's a market for these products here, my MacBook Pro WILL support this product... So why won't you let me buy one (or even admit to me you even have such a thing, when those overseas have free access to them)?
    Message was edited by: TheRoadhouse

    TheRoadhouse wrote:
    I am a foreign language student (Russian), and am trying to buy a foreign language apple keyboard (preferably wireless) in the states. I know they are available in Europe (my stepdaughter confirms she can get one thriugh her apple store), yet when I try to do the same here, they deny they even exist!! (This is the case even on the online store!!!)
    I tried to order one from one of the European Stores online (actually, more than one) and it won't let me complete the order, even if I make payment in the local currency (pounds, euros, francs, rubles, or what have you).
    This is a frustrating (and in my opinion, fairly serious) problem, and I am sure I am not the only one who is going through this fiasco. I certainly don't want to pay 5x the price via a "smuggler", I would rather get peripherials FOR my apple FROM apple.
    So Apple, what gives? There's a market for these products here, my MacBook Pro WILL support this product... So why won't you let me buy one (or even admit to me you even have such a thing, when those overseas have free access to them)?
    Message was edited by: TheRoadhouse
    I do not want to get on your case, but Apple is a business, one that tries to make a profit. Carrying items in inventory that serve a tiny number of individuals in the US actually costs them money. But they'd also have to carry inventory in every single foreign language keyboard, and the costs become huge.
    Moreover, and with all due respect, if you're here in the US studying, you really need a US English keyboard. And as the other poster said, you have access to the Russian character map for keys, so if you have to write home, you can write in Russian, and you'll be happy.
    By the way, all of us here are users like you. Getting annoyed hardly ever gets you help. If you want to complain to Apple go here.

  • How can a structured frame be used for translating books to foreign languages?

    I keep reading about how a structured approach can improve the translation process (from english to foreign languages), however, i can't seem to find specifics about a particular method or tutorials about how to go about it (specifically). My question is, how (specifically) can structured framemaker be used for translation from english to foreign languages?  Links to tutorials on this issue would be greatly appreciated. Thank you.

    @Ian Proudfood
    A well organized XML based project will definitely save translation costs. There are many advantages to the XML approach to translation management including:
    Almost zero DTP rework costs - make the EDD/Template do all of the work!
    Translation is application version independent - no need to wait for the Translation Memory/CMS system vendor to support the latest version of FrameMaker.
    »... a well organized XML based project will definitively save translation costs.« – I have read sentences like this from a lot of consultants. And I have consulted/supported a lot of customers after those consultants left the stage. I always hear more or less the same from all of those clients. No question, I hear a lot of arguments for working with XML in tech doc, most of the arguments you mention included. Most of the tech writers are happy with the new structured FrameMaker and enjoy writing. And, cross your heart: Finally there's no alternative to XML in the long term if you take your tech writer job seriously. No question – working with pure XML in a professional information architecture in a structured, guiding editing environment like FrameMaker is cool, fun, faster and produces more open, more accessible, more reusable, more reliable, more consistent, in a nutshell: more valuable data.
    But what I have never ever heard, and I'm talking about several hundred companies, is: We save more money on translation now. You might imagine that this is surprising me since many years. This is why I always ask: Did you save any costs in your translation projects? Surprisingly the answer is always: No. Actually some – no, wait: many – tell me, that their translation agency even charges more now, because they have a lot of new costs:
    Costs, to customize their translation memory system to the clients custom xml,
    costs to follow badly or not documented changes in the client's xml structure (DTD/Schema changes) in the TMS,
    costs because of more engineering work like 
    valididating xml in advance,
    fixing invalid xml exports,
    fixing invalid translations due to – sometimes massively – increased amount of tag errors because of tagging differences of "old" (legacy mif) and "new" (xml) tags,
    dealing with just too big XML files that need to be carefully split, so that the TMS has a chance to read it, or alternatively:
    "glue" the ten-thousand xml "snippets" to more handy chunks,
    project managers and translators that need to do additional checks, validations, verifyings - and often not knowing what to do with those cryptic error messages, meaning additional support costs
    Of course, many if no all of these and many other problems I did not mention here can be solved. And many are not exactly system immanent problems but communication problems (like introducing or renaming elements/attributes but not documenting this and not communicating this to the translation service provider) or would apply to any system change (e.g. also when switching from Word to Frame). However, I do not know of any single translation company on this planet (and I know virtually thousands of them from countries all over the world) that reduced the price per word for just a single pence, just because the client switched over from Word/Quark/FrameMaker/InDesign/Whatever to XML.
    Just ask your translation service provider: Will you charge me less per word if I send you XML instead of MIF? I would really be surprised to hear a "yes". And frankly, if you have ever compared a professional FrameMaker document with the same document in xml format in a professional system like Trados: There is actually no difference that would justify any price difference. The text is the same, the amount of words identical, the number of tags is identical, it even looks identical in the translation system (I can post screenshots if you like). From the translation perspective there is no single reason why a translator should charge a single pence less.
    So, it's a modern myth, that switching to xml reduces translation costs. That might be true, if you come from a really medieval documentation szenario with MS Word or the like, with manual formatting without any styles and so on (I see tech docs every day where even the TOC is typed in manually!!!) and swith from there to a modern structured xml authoring in combination with other supporting tools like authoring memory / authoring assistance, controlled language, translation memory and terminology managent and control, snippet based content management and so on. That will increase the consistency and quality of your data, which will reduce translation costs in the long term. But the truth is: This has nothing to do with XML per se, but with professional writing and professional management.
    So, what's left in the money saving story? No more DTP in the target languages? I always hear, that with XML and FrameMaker you do not have to "format" the translated document. The truth is: If you have a professionally formatted (unstructured) document, you don't have to take care of it, too. Modern tools like Trados keep 100% of the formatting 100% correct in the translated document. If the underlying template is intelligent enough to take account of text amount changes due to longer translations, and if you don't have too many local formatting overrides, the DTP is actually zero and can be reduced to a few mintes/hours for "flying" of the document to check out for unexpeted problems wich can occure in both structured and unstructured documents.
    Just to give some numbers on this: We are processing every day technical documentations for a quite big company. A typical documentation from them is about 250 pages in unstructured FrameMaker 9 (source language is English). Until now they were resistent to all my XML pushing. The Documentation is based on a straight, simple template (with our help "reduced to the max") and there are no formatting overrides (a script automatically checks this). The post translation Quality Assurance effort is - depending on the target language - usually something between 1 to 4 hours – that's a few seconds per page for the languages where already a lot of past Quality Assurance Steps went back into the Translation Memories and up to a minute per page for more "problematic" languages).
    So, again: XML will not save you a single pence on translations. But it might help you to produce more open, more accessible, more reusable, more reliable, more consistent, in a nutshell: more valuable data. But if you already have properly set up (ustructured) FrameMaker Documents and already work with a professional translation memory system, you will be quite disappointed to learn, that the impressive money saving promises you recently saw on that great PowerPoint slides melt down to a few bucks over a couple of years.
    Kind regards,
    Stefan Gentz

  • How to install Virtual Keyboard with Different language ?

    HI,
    How to install Virtual Keyboard with Different language (Arabic) in MacBook Pro ( Mac OS X v10.5.8 Leopard).
    Thanks,

    How to install Virtual Keyboard with Different language (Arabic) in MacBook Pro ( Mac OS X v10.5.8 Leopard).
    What are you talking about exactly?
    OS X comes with a virtual keyboard already. It is called Keyboard Viewer. You activate it by going to system prefs/international/input menu and checking its box (plus the box for Show Input Menu in Finder). At the same time you can check the boxes for the Arabic keyboard layouts.
    You can then select the Arabic keyboard layouts and the Keyboard Viewer from the "flag" menu at the top-right of the Finder.
    Let us know if you have further questions. If you are talking about some specific non-Apple app, could you provide the url?

  • After updating to IOS7 I changed my passcode to one in a foreign language, but I accidentally deleted the keyboard that the language uses and now I can't acess my Ipod becuase I I can't type in my passcode at all. What do I do?

    I changed my iPod's pass code to one that is in a foreign language, but I deleted the keyboard before I turned it off, and now I can't acess my Ipod because the keyboard option for that particular language is gone. What Do I Do?

    Forgotten Screen-Lock Passcode
    Connect the iOS device to your computer and try to make a backup
    iOS: How to back up
    Then restore via iTunes. The iPod will be erased. Place the iOS device in Recovery Mode if necessary to allow the restore.
    If recovery mode does not work try DFU mode.
    How to put iPod touch / iPhone into DFU mode « Karthik's scribblings
    For how to restore:
    iTunes: Restoring iOS software
    To restore from backup see:
    iOS: How to back up    
    If you restore from iCloud backup the apps will be automatically downloaded. If you restore from iTunes backup the apps and music have to be in the iTunes library since synced media like apps and music are not included in the backup of the iOS device that iTunes makes.
    You can redownload most iTunes purchases by:
    Downloading past purchases from the App Store, iBookstore, and iTunes Store    

Maybe you are looking for