Bug Report: The keyboard focus doesn't automatical...

Bug Report: When a conversation window opens, the focus doesn't automatically land in the chat entry text field.
Since the new interface for Skype was introduced officially in Skype 7.0, there is a bug with the system/keyboard focus for a new conversation window. When Skype is in "Split Window View" and each new conversation automatically pops up in a separate window, the system/keyboard focus doesn't land in the chat entry edit field. Instead, the user has to press Shift+TAB a couple of times, to move it there and reply to the chat message received. This especially problematic for screen reader users, who rely on keyboard navigation. This mainly occurs when a new conversation is started with an incoming message, but it sometimes occurs when moving the focus out of that conversation window and later back in it again (while it is still opened).
Steps to reproduce it:
1. From "View" menu, activate the "Split Window View", if it is not already enabled.
2. From Tools -> Options -> IM & SMS -> IM settings, enable "Open a new window when I receive a new message in Split Window View", if it is not already enabled.
3. From Tools -> Options -> Advanced, activate "Enable accessible mode", if it is not already enabled.
4. Activate the "Save" button, to save the changes.
5. Close all windows, related to Skype. You may keep only the main window opened.
6. Tell someone to send you a chat message. When the message arrives, Move the system focus to the conversation window in question, preferably with Alt+TAB. The system/keyboard will not land in the chat entry edit field as it did in Skype 6.21 and earlier and as it should by default, but in some unknown place in the window.
7. Move the system/keyboard focus in the chat entry edit field and keep it there.
8. Switch to another window, preferably from another application.
9. With Alt+TAB, switch back to the window of the opened Skype conversation. There is a chance that the system/keyboard focus will not land in the chat entry edit field as it did in Skype 6.21 and earlier and as it should do by default, but again in some unknown place in the conversation window. But that is harder to reproduce.
Test environment:
- Operating system: Windows 8.1 Pro N, 64-bit, in Bulgarian with all locale settings set to "Bulgarian".
- Skype version: 7.0.0.102 for Desktop.

This is a known problem, but Skype have not given us an estimated time for a fix.
Traditionally, Skype updates have been roughly monthly, so we are due a new version sometime soon. Many of us here are hoping that is has a bunch of fixes for the UI, the focus problem being one of them.
Sean Ellis - uses Skype chat for serious work
Click here to read my blog post on Skype 7 and basic principles of GUI design

Similar Messages

  • During video recording the auto focus doesn't work automatically!i must have a tap on the display for to use the autofocus! Ihave an iphone 4s

    during video recording the auto focus doesn't work automatically!i must have a tap on the display for to use the autofocus! Ihave an iphone 4s

    I know.  Same issue here.  When I'm not recording but have the video camera on, the autofocus works fine.  As soon as I tap the record button and recording starts, the focus is locked until I tap on the screen to focus.  I haven't used the camera all that much because of this problem.

  • Why does the keyboard focus keep switching to the menu bar?

    Does anyone else have the problem of Photoshop CS6 constantly setting the keyboard focus to the menu bar? This makes it difficult to use shortcuts.
    Typical examples: I want to switch to the Move tool, so I press V, but instead, the View menu drops down. Or I press T for the Type tool, but instead, the Filter menu drops down. This happens often and it's very annoying.
    This also happens in Premiere Pro CS6, and happens on both my Windows 7 and Windows 8.1 machines. Doesn't happen in other applications, and is not related to actually using a menu, i.e. if I choose something from a menu, then press V, Photoshop will often work correctly and activate the Move tool. This behavior seems to happen randomly.

    Alt doesn't really "unhide" the menu bar (speaking of Photoshop), but it's always been the introducer of keyboard operations for "keyboard accessbility" - i.e., operation of Windows applications without mouse.
    Alt causes little underlines to show up under the key characters of menu items, and prepares the system for the next character being typed to open a menu - so for example you press something like 'e' and the Edit menu pulls down.  Now you use an arrow key to move to the next item, or maybe a single character that's associated with one of the menu entries.
    Photoshop's goals for using modifier keys kind of conflict with this.  They've apparently tried to reach a balance where using the Alt key to modify some operation cancels the introduction of the next menu item. 
    But I don't think it's possible to be perfect at that, especially for example if the user presses Alt, decides not to do the operation he was thinking about doing (e.g., zooming out), then just releases the key.  Another factor might be the habits people get into for choosing tools.
    As a contrast, one person might not press the Alt key until they're sure they're going to do something with it (e.g., zoom out), and that same person might only choose tools from the Tools panel by clicking on them.  Another person might press the Alt key sometimes, but then stop before doing the operation it modifies.  That same person might be in the habit of choosing tools by their letter (e.g., E for eraser).  It's clear to see how the first person might never get into a condition where the menu introducer key (Alt) leaves them in a state where a menu opens inadvertently, while the latter might see it regularly.
    As far as why Photoshop might get into a mode where the menu introduction occurs when you HAVEN'T pressed the Alt key, I don't know; I certainly haven't seen that reported much if at all here on the forum.
    -Noel

  • My iMac 24 can no longer be paired with the keyboard; it doesn't recognise any keyboard at boot up, even the one it is paired with. Can anyone help, please?

    My iMac 24 can no longer be paired with the keyboard; it doesn't recognise any keyboard at boot up, even the one it is paired with. Can anyone help, please?
    Thank. Simon

    Brian - The batteries are fine and there has only every been one keyboard paired with it. We have tried my MacPro keyboard as well, and it will not even recognise that there is a discoverable keyboard nearby.
    Thanks, Simon

  • On our project site, with Firefox 4 and 5, buttons don't take the keyboard focus if you mouse-click on them. Is this a problem of our site?

    On a page like http://www.ori.uzh.ch/links.html, clicking a link opens a new tab, and after closing that tab, you can move to the next link with the tabulator key. On that site, it still works with Firefox 5. I also worked on our project site (password secured, sorry) with Firefox up to 3.6.18. But now, if I open a link with the mouse, close that tab again and press the tab key, the focus just goes to the first clickable button, as if I had not clicked any button previously. If I open a link by tab key and "enter", the keyboard focus is preserved on that button. But there are many many buttons on our pages, and they reload frequently.
    BTW I adjusted the system preferences, so that the keyboard focus moves between all controls. (see http://www.tipstrs.com/tip/1505/Tab-key-to-select-form-elements-in-Firefox-on-the-Mac). But I don't think the problem is related to that.

    I found out that our buttons are no links, but input tags, type="submit". I'll discuss the problem with our programmer.

  • Outlook window getting the keyboard focus instead of user created Form Window during Outlook Startup

    This MAPILogonComplete method involves creating a Form Window to show "What's New" of a certain Addin version (DisplayWhatsNewDialog() in the code):
    private void _outlook_MAPILogonComplete() {
    _logger.Info("_outlook_MAPILogonComplete");
    try
    if (_timerForm != null)
    _timerForm.Timer.Stop();
    _timerForm.Timer.Dispose();
    catch (Exception ex2)
    _logger.Error(ex2.Message, ex2);
    try
    if (Globals.BJNSettings.showWhatsNew)
    Globals.BJNSettings.showWhatsNew = false;
    UIHelper.DisplayWhatsNewDialog(false);
    Ol.Inspector insp = null;
    if (_inspectors.Count > 0)
    for (int i = _inspectors.Count; i >= 1; i--)
    insp = _inspectors[i];
    WrapInspector(insp);
    insp = null;
    Ol.Explorer expl = null;
    if (_explorers.Count > 0)
    for (int i = _explorers.Count; i >= 1; i--)
    expl = _explorers[i];
    WrapExplorer(expl);
    expl = null;
    GetAddinsList();
    Thread logSystemInfoThread = new Thread(new ThreadStart(LogSystemInformation));
    logSystemInfoThread.TrySetApartmentState(ApartmentState.STA);
    logSystemInfoThread.IsBackground = true;
    logSystemInfoThread.Start();
    try
    Ol.NameSpace ns = _outlook.GetNamespace("MAPI");
    _calFolder = ns.GetDefaultFolder(Ol.OlDefaultFolders.olFolderCalendar) as Ol.Folder;
    _calFolder.BeforeItemMove += new Ol.MAPIFolderEvents_12_BeforeItemMoveEventHandler(_calFolder_BeforeItemMove);
    _delFolder = ns.GetDefaultFolder(Ol.OlDefaultFolders.olFolderDeletedItems) as Ol.Folder;
    Marshal.ReleaseComObject(ns);
    ns = null;
    catch (Exception ex)
    _logger.Error(ex.Message, ex);
    UIHelper.WriteDoNotDisableKeyToRegistry();
    Globals.AppointmentsToProcess = new List<string>();
    _timerForm.ProcessTimer.Interval = 3000;
    _timerForm.ProcessTimer.Start();
    catch (Exception ex)
    _logger.Error(ex.Message, ex);
    DisplayWhatsNewDialog() has this signature:
    public static void DisplayWhatsNewDialog(bool modal)
    try
    string defaultWhatsNewFile = Globals.BJN_APP_BASE_DIRECTORY + "WhatsNew.txt";
    string localISOLanguageName = Languages.GetTwoLetterISOLanguageName();
    string localizedWhatsNewFile = Languages.GetInstalledLocalizedFilePath(localISOLanguageName, "WhatsNew.txt");
    if (String.IsNullOrEmpty(localizedWhatsNewFile))
    localizedWhatsNewFile = defaultWhatsNewFile;
    if (File.Exists(localizedWhatsNewFile))
    BJNWhatsNew whatsNew = new BJNWhatsNew(localizedWhatsNewFile);
    if (modal)
    whatsNew.ShowDialog();
    whatsNew.Dispose();
    else
    whatsNew.TopMost = true;
    whatsNew.Show();
    whatsNew = null;
    catch (Exception ex)
    _logger.Error(ex.Message, ex);
    The problem is if the Window is made modal, it blocks the Outlook to launch and also goes back of the Outlook loading window (Whats New window will not be having keyboard focus). And if the Window is made non-modal (passing false to DisplayWhatsNewDialog()),
    Outlook launches properly and What's New window comes at the top but will not be having keyboard focus; instead the launched Outlook window will be having the keyboard focus. May anyone please suggest a way to make the What's New window to be always having
    the keyboard focus? Structure of form window class BJNWhatsNew is given below:
    public partial class BJNWhatsNew : Form
    private static ILog _logger = LogManager.GetLogger(typeof(BJNWhatsNew));
    public BJNWhatsNew(string whatsNewTextFileName)
    InitializeComponent();
    InitLabels();
    InitEventHandlers();
    InitWhatsNew(whatsNewTextFileName);
    private void InitLabels()
    try
    this.Text = Properties.Resources.bjn_version_info_caption;
    this.buttonClose.Text = Properties.Resources.ok_hotkey;
    this.labelBJNAddin.Text = Properties.Resources.bjn_version_ol_addin;
    this.labelVersion.Text = String.Format(Properties.Resources.version_format, Assembly.GetExecutingAssembly().GetName().Version.ToString(3));
    Assembly assembly = Assembly.GetExecutingAssembly();
    FileInfo fileInfo = new FileInfo(assembly.Location);
    DateTime buildDate = fileInfo.LastWriteTime;
    string formatString = "d MMM, yyyy";
    this.labelReleaseDate.Text = String.Format(Properties.Resources.bjn_version_release_date, buildDate.ToString(formatString));
    catch (Exception ex)
    _logger.Error(ex.Message, ex);
    private void InitEventHandlers()
    this.buttonClose.Click += new EventHandler(buttonClose_Click);
    private void InitWhatsNew(string whatsNewTextFileName)
    try
    if (File.Exists(whatsNewTextFileName))
    StreamReader sr = new StreamReader(whatsNewTextFileName);
    string whatsNew = sr.ReadToEnd();
    sr.Close();
    this.richTextBox1.Text = whatsNew;
    this.richTextBox1.SelectionLength = 0;
    this.buttonClose.Select();
    this.buttonClose.Focus();
    catch (Exception ex)
    _logger.Error(ex.Message, ex);
    void buttonClose_Click(object sender, EventArgs e)
    this.Close();

    Hello Prasad,
    The ShowDialog method will block the current thread. If you want to continue working with Outlook objects you need to use the Show method instead. The key fact is that both methods (Show and ShowDialog) accepts an instance of the IWin32Window interface
    which allows to specify the parent window handle. Specifying the parent window handle (Outlook Explorer window) to the Show method you can make your window shown on top of Outlook all the time.
    To get the HWND of an Outlook explorer  object (e.g. Application.ActiveExplorer), cast it to IOleWindow and call IOleWindow.GetWindow(). Also you may find the
    How to get the IWin32Window for Outlook
    article helpful.

  • When I talk to Siri she can't hear me and when I try and use my mic on the keyboard it doesn't work. What do I do?

    When I talk to Siri she can't hear me and when I try and use my mic on the keyboard it doesn't work. What do I do?

    Siri seems to not be working for many people right now.  The only thing you can do is wait.

  • Bug report: A keyboard layout is incorrect on the remote with Hungarian and other "exotic" keyboard layouts

    This is a bug report for Microst Remote Desktop
    ===================================================
    ## Summary
    A keyboard layout is incorrect on the remote with Hungarian keyboard
    ## Version Information, I tested
    * Client
        * Case 1
            * MacBook Pro with HU101 Keyboard
    * Locale: Hungarian
            * Mac OS X Maverics 10.9.2
            * Microsoft Remote Desktop 8.0.6
    * Remote
        * Case 1
            * Windows Server 2003 R2 (English)
        * Case 2
            * Windows Server 2008 R2 (English)
        * Case 3
            * Windows 8.1 (Hungarian)
    ## Detail of bug
    When I connect to the listed remotes the client sets the keyboard layout to Latvian which is a completely different layout than Hungarian (not even close...).
    - On Windows 8 if I set the language on the login screen it stays on that language after the login.
    - On Windows Server 2003R2 and 2008R2 even if I set the language at login it will switch back to LV after the login.
    ## Attachments
    Unfortunately cannot include my shots because I'm not allowed to do this...
    ## End of report
    Please allow the users to set the correct "target" language on connection basis because the automatic method the app use to determine that is unreliable.

    Hi,
    Thanks for the feedback.
    I will forward this to the product team.
    Thanks.
    Jeremy Wu
    TechNet Community Support

  • Bug report: A keyboard layout is incorrect on the remote with Japanese keyboard

    This is a bug report for Microst Remote Desktop
    ===================================================
    ## Summary
    A keyboard layout is incorrect on the remote with Japanese keyboard
    ## Version Information, I tested
    * Client
        * Case 1
            * MacBook Pro with JIS106 Keyboard
            * Mac OS X Lion 10.7.5
            * Microsoft Remote Desktop 8.0.24308
        * Case 2
            * MacBook Pro with JIS106 Keyboard
            * Mac OS X Mavericks 10.9.1
            * Microsoft Remote Desktop 8.0.24308
    * Remote
        * Case 1
            * Windows 7 Professional Japanese
        * Case 2
            * Windows Server 2008R2 Datacenter Japanese
        * Case 3
            * Windows Server 2012R2 Datacenter Japanese
    ## Detail of bug
    When login from Mac OS X with Microsoft Remote Desktop, the keyboard layout is always incorrect on the remote.
    The client machine have a built-in keyboard of JIS 106 layout,
    and the primary language is set to Japanese.
    But on the remote, the keyboard layout is US 101.
    So a input of Shift+2 does not result " but @.
    I've seen the above behavior on the 3 remote enviornments described the above.
    This bug did not occcur with Microsoft Remote Desktop Connection Client for Mac 2.1.1, even if the system language is English and keyboard layout is Japanese.
    ## Captures
    I've took some of screen captures.
    I'm sorry for the capture includes Japanese words, so I added description in English.
    Capture 1:
    Mac OS X Keyboard Setting
    Capture 2:
    Windows Server 2012R2 Screen Keyboard
    Capture 3:
    Windows Server 2012R2 Screen Keyboard, with a additional registry key configured.

    This bug also affects the Canadian English settings.  If the client is set to Canadian English with a US keyboard the remote server is setup using a Canadian French keyboard.  Using the language selection in the toolbar you can temporarily correct
    the problem but the keyboard resets to french at the most inopportune times.  The was a problem in the earlier RDP client and was fixed so it's sad to see it reoccur in the new client.
    Lawrence

  • Bug report: crazy keyboard (caps lock flashing)

    Hi all!
    I had the problem of the "crazy keyboard" and I think I understand the cause.
    Mac model: Macbook pro MB134LL/A
    OS: Snow leopard 10.6.5 with latest updates
    Problem: sometimes the caps lock button flash and the trackpad freezes.
    I read similar problems in the forum, without a solution.
    I have an admin account on my mac and I installed the software "mobile partner" to manage mobile connections with an internet key huawei e176.
    Now I have version 16.001.17.04.51 for the mobile partner, and version 4.23.03.00 for the key drivers.
    The "crazy keyboard" problem can happen with these versions and with previous versions too.
    I noticed that in "system preferences->network->advanced settings of the installed HUAWEIMobile-Modem" the drivers are set by default to generic apple modem. So I changed with the "huawei mobile connect - 3G modem" drivers but sometimes this preference automatically changes back to generic apple modem.
    When the keyboard goes crazy I see that the drivers are set to generic apple modem.
    "Crazy keyboard" appears only after installing the internet key, so I think that the cause of the problem is the automatic change of the modem drivers.
    How to solve the problem?Change the admin account, so to avoid changes?
    Thank you

    Javier,
    I appreciate the feedback.
    I'll try to provide the requested information:
    $ cat /etc/release:
    Solaris 10 1/06 s10s_u1wos_19a SPARC
    Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.
    Use is subject to license terms.
    Assembled 07 December 2005
    X server:
    Xsun (at least that's what shows up as the process name)
    Input Method framework:
    Nothing outside of the OS. The Solaris 10 OS Turkish localization packages were installed along with some OS patches and the Turkish USB keyboard plugged in.
    Thank you,
    Don
    Edited by: 924089 on Apr 3, 2012 4:38 PM
    Here’s the problem as best I can explain it with the help of the “/usr/openwin/demo/xev” tool.
    With the “Caps Lock” key engaged:
    Press and release of the (dotted) “i” key WRONGLY gives uppercase (dotless) “I” letter with “keycode = 59” and “keysym = 0x49”.
    Press and release of the (dotless) “ı” key correctly gives uppercase (dotless) “I” letter with “keycode = 19” and “keysym = 0x49”.
    Disengaging the “Caps Lock” key:
    Holding down the “Shift” key:
    Press and release of the (dotted) “i” key correctly gives uppercase (dotted) “İ” letter with “keycode = 59” and “keysym = 0x2a9”.
    Press and release of the (dotless) “ı” key correctly gives uppercase (dotless) “I” letter with “keycode = 19” and “keysym = 0x49”.
    Summary:
    The delivery of the keysym value of 0x49 seems to be wrong for the “Caps Lock” + “i” keys combination. (Shouldn’t it be 0x2a9?)
    I have learned that user 925353 has initiated SR: 3-5545975463 reporting this problem.
    Edited by: 924089 on Apr 4, 2012 6:30 PM

  • Zoom follows keyboard focus doesn't work?

    "zoom follows keyboard focus" does not work.  I am using Pages and massively hampered by the erratic function of "zoom follows keyboard focus".  The quality of zoom is excellent but this core function's non functioning is appalling.
    any solutions?

    Still a problem with Firefox 17.0.

  • JPanel loses keyboard focus

    Ok, i have a JTextField which is initially disabled. A JPanel draws some stuff and receives keyboard input. When i enable the textfield, type some stuff, then press Esc (which disables it), i cant get the keyboard focus back on the JPanel. Here is an example:
    (you can move the red circle before you enable the textfield, after you disable it, you cant move it anymore).
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.border.*;
    import javax.swing.event.*;
    import java.util.Vector;
    public class example extends JPanel implements ActionListener,Runnable {
        JFrame frame;
        JMenuBar menubar;
        JMenu m_file;
        JMenuItem mi_open,mi_close;
        JPanel canvas,northpanel;
        JTextField textfield;
        Image canvasimg;
        Thread thread=new Thread(this);
        private Image dbImage;     // for flickering
         private Graphics dbg;     // for flickering
         int x1=400,y1=200;
        public example() {
            frame = new JFrame("Example");                         // window
            frame.setLayout(null);
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.setPreferredSize(new Dimension(1000,700));
            frame.setLayout(new BorderLayout());
            northpanel=new JPanel();
            northpanel.setLayout(null);
            northpanel.setPreferredSize(new Dimension(1000,20));     northpanel.setLocation(0,0);
            menubar=new JMenuBar();
            m_file=new JMenu("File");   
            mi_open=new JMenuItem("Open");
            mi_close=new JMenuItem("Close");
            m_file.add(mi_open);
            m_file.add(mi_close);   
            m_file.getPopupMenu().setLightWeightPopupEnabled(false);   
            menubar.add(m_file);
            northpanel.add(menubar);
            menubar.setLocation(0,0);     menubar.setSize(80,20);
            textfield=new JTextField();
            northpanel.add(textfield);
            textfield.setSize(200,20);     textfield.setLocation(500,0);   
            textfield.setEnabled(false);
            frame.add(northpanel,BorderLayout.NORTH);
            canvas=new JPanel();
            canvas.setLayout(null);
            canvas.setSize(1000,600);
            canvas.setBackground(Color.white);
             frame.add(canvas,BorderLayout.CENTER);      
            frame.pack();
            frame.setVisible(true);       
            thread.start();                                   // start the thread
            textfield.addMouseListener(new MouseAdapter(){
                    public void mousePressed(MouseEvent e){
                         textfield.setEnabled(true);
               textfield.addKeyListener(new KeyAdapter() {
                 public void keyPressed(KeyEvent e){
                      int key=e.getKeyCode();
                      if(key==27){     // esc
                           textfield.setEnabled(false); 
                           canvas.setEnabled(true);                // not working
                           canvas.requestFocus();
                           canvas.requestFocusInWindow();
               frame.addKeyListener(new KeyAdapter() {
                 public void keyPressed(KeyEvent e){                   
                      int key=e.getKeyCode();
                      if(key==37){ //left
                           x1-=5;
                      if(key==38){ //up
                           y1-=5;
                      if(key==39){ //right
                           x1+=5;
                      if(key==40){ //down
                           y1+=5;
        // Create the GUI and show it. 
        private static void createAndShowGUI() {
            JFrame.setDefaultLookAndFeelDecorated(true);
            example ex = new example();
        public void run(){
             while(true){
                  try{
                       if(canvasimg==null)repaint();                   
                       Graphics g=canvas.getGraphics();
                       update(g);
                       thread.sleep(30);                                             // 1 sec
                  }      catch(InterruptedException ex){}
        // ActionPerformed handles button and menu events
        public void actionPerformed(ActionEvent e){              
        public static void main(String[] args) {
            //Schedule a job for the event-dispatching thread:
            //creating and showing this application's GUI.
            javax.swing.SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    createAndShowGUI();
        public void update (Graphics g){          // get rid of flicker
              if (dbImage == null){
                   dbImage = canvas.createImage (canvas.getSize().width, canvas.getSize().height);
                   dbg = dbImage.getGraphics ();
              dbg.setColor (canvas.getBackground ());
              dbg.fillRect (0, 0, this.getSize().width, this.getSize().height);
              dbg.setColor (canvas.getForeground());
              paint (dbg);
              g.drawImage (dbImage, 0, 0, this);
         public void paint(Graphics g){
              g.drawImage(canvasimg,0,0,this);          
              g.setColor(Color.red);
             g.fillOval(x1,y1,10,10);
        public void repaint(){     
             if(canvas!=null && canvasimg==null)canvasimg=canvas.createImage(1000,670);
             if(canvasimg==null)return;
             Graphics g=canvasimg.getGraphics();
             if(g==null)return;
             g.setColor(Color.white);
             g.fillRect(0,0,1000,600);
    }  

    OK great guru since you're so damn confident that you're doing everything right, find out for yourself why this works and yours doesn't.
    I could list a few dozen things wrong with your code, but I'd be wasting my keystrokes.import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.Dimension;
    import java.awt.Graphics;
    import java.awt.event.KeyAdapter;
    import java.awt.event.KeyEvent;
    import java.awt.event.MouseAdapter;
    import java.awt.event.MouseEvent;
    import javax.swing.JFrame;
    import javax.swing.JMenu;
    import javax.swing.JMenuBar;
    import javax.swing.JMenuItem;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
    import javax.swing.SwingUtilities;
    public class TextFieldDisableNoProblem extends JPanel {
       JPanel northPanel;
       JMenuBar menubar;
       JMenu m_file;
       JMenuItem mi_open,mi_close;
       JTextField textField;
       int x1 = 400;
       int y1 = 200;
       public TextFieldDisableNoProblem () {
          setBackground (Color.WHITE);
          addKeyListener (new KeyAdapter () {
             public void keyPressed (KeyEvent e){
                int key = e.getKeyCode ();
                switch (key) {
                   case KeyEvent.VK_LEFT:
                         x1 -= 5;
                         break;
                   case KeyEvent.VK_UP:
                         y1 -= 5;
                         break;
                   case KeyEvent.VK_RIGHT:
                         x1 += 5;
                         break;
                   case KeyEvent.VK_DOWN:
                         y1 += 5;
                         break;
                repaint ();
       void makeUI () {
          JFrame frame = new JFrame ("");
          frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
          frame.setSize (600, 500);
          frame.setLocationRelativeTo (null);
          menubar=new JMenuBar ();
          m_file=new JMenu ("File");
          mi_open=new JMenuItem ("Open");
          mi_close=new JMenuItem ("Close");
          m_file.add (mi_open);
          m_file.add (mi_close);
          menubar.add (m_file);
          frame.setJMenuBar (menubar);
          textField=new JTextField ();
          textField.setEnabled (false);
          textField.setBounds (200, 0, 200, 20);
          textField.addMouseListener (new MouseAdapter (){
             public void mousePressed (MouseEvent e){
                textField.setEnabled (true);
          textField.addKeyListener (new KeyAdapter () {
             public void keyPressed (KeyEvent e){
                int key = e.getKeyCode ();
                if(key == KeyEvent.VK_ESCAPE){
                   textField.setEnabled (false);
                   requestFocus ();
          northPanel=new JPanel ();
          northPanel.setLayout (null);
          northPanel.setPreferredSize (new Dimension (600,20));
          northPanel.add (textField);
          frame.add (northPanel,BorderLayout.NORTH);
          frame.add (this, BorderLayout.CENTER);
          frame.setVisible (true);
          requestFocus ();
       public void paintComponent (Graphics g) {
          super.paintComponent (g);
          g.setColor (Color.RED);
          g.fillOval (x1, y1, 10, 10);
       public static void main (String[] args) {
          SwingUtilities.invokeLater (new Runnable () {
             public void run () {
                JFrame.setDefaultLookAndFeelDecorated (true);
                new TextFieldDisableNoProblem ().makeUI ();
    }db

  • Calling1.4.1 signed applet from Javascript causes keyboard/focus problems

    Pretty sure there's a JRE bug here, but I'm posting to forums before I open one in case I'm missing something obvious :-)
    This issue may be specific to IE, I haven't tested elsewhere yet. Our web application is centered around a signed applet that is initialized with XML data via Javascript. We first noticed the problem when our users started upgrading from the 1.3.x plug-in to the 1.4.x plug-in. The major symptom was that shortcut keys stopped working. I debugged the problem off and on for about a month before I boiled it down to a very simple program that demonstrates the issue (included below). Basically, the program has a function that adds a JButton to a JPanel and registers a keyboard listener (using the new DefaultKeyboardFocusManager class) that prints a message to the console. This function is called by the applet's init() method, as well as by a public method that can be called from Javascript (called callMeFromJavascript()). I also included a very simple HTML file that provides a button that calls the callMeFromJavascript() method. You can test this out yourself: To recreate, compile the class below, JAR it up, sign the JAR, and put in the same dir with the HTML file. Load the HTML file in IE 5.0 or greater, and bring the console up in a window right next to it. Now click the button that says init--you should see the small box appear inside the button that indicates it has the focus. Now press some keys on your keyboard. You should see "KEY PRESSED!!!" appearing in the console. This is proper behavior. Now click the Init Applet from Javascript button. It has removed the button called init, and added one called "javascript". Press this button. Notice there is no focus occurring. Now press your keyboard. No keyboard events are registered.
    Where is gets interesting is that if you go back and make this an unsigned applet, and try it again, everything works fine. This bug only occurs if the applet is signed.
    Furthermore, if you try it in 1.3, signed or unsigned, it also works. So this is almost certainly a 1.4 bug.
    Anyone disagree? Better yet, anyone have a workaround? I've tried everything I could think of, including launching a thread from the init() method that sets up the components, and then just waits for the data to be set by Javascript. But it seems that ANY communication between the method called by Javascript and the code originating in init() corrupts something and we don't get keyboard events. This bug is killing my users who are very reliant on their shortcut keys for productivity, and we have a somewhat unique user interface that relies on Javascript for initialization. Any help or suggestions are appreciated.
    ================================================================
    Java Applet (Put it in a signed JAR called mainapplet.jar)
    ================================================================
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    public class MainApplet extends JApplet implements KeyEventDispatcher
        JPanel test;
        public void init()
            System.out.println("init called");
            setUp("init");
        public void callMeFromJavascript()
            System.out.println("callMeFromJavascript called");
            setUp("javascript");
        private void setUp(String label)
            getContentPane().removeAll();
            test = new JPanel();
            getContentPane().add( test );
            JButton button = new JButton(label);
            test.add( button );
            test.updateUI();
            DefaultKeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(this);
        public boolean dispatchKeyEvent(KeyEvent e)
            System.out.println("== KEY PRESSED!!! ==");
            return false;
    }================================================================
    HTML
    ================================================================
    <form>
    <APPLET code="MainApplet" archive="mainapplet.jar" align="baseline" id="blah"
         width="200" height="400">
         No Java 2 SDK, Standard Edition v 1.4.1 support for APPLET!!
    </APPLET>
    <p>
    <input type="button" onClick="document.blah.callMeFromJavascript();" value="Init Applet via Javascript">
    </form>

    I tried adding the requestFocus() line you suggested... Same behavior.
    A good thought, but as I mention in my description, the applet has no trouble gaining the focus initially (when init() is called). From what I have seen, it is only when the call stack has been touched by Javascript that I see problems. This is strange though: Your post gave me the idea of popping the whole panel into a JFrame... I tried it, and the keyboard/focus problem went away! It seems to happen only when the component hierarchy is descended from the JApplet's content pane. So that adds yet another variable: JRE 1.4 + Signed + Javascript + components descended from JApplet content pane.
    And yes, signed or unsigned DOES seem to make a difference. Don't ask me to explain why, but I have run this little applet through quite a few single variable tests (change one variable and see what happens). The same JAR that can't receive keyboard events when signed, works just fine unsigned. Trust me, I'm just as baffled as you are.

  • SAP system doesn't automatically start after restart (but manual start ok)

    Hi,
    We've got a new production line of SAP EP 7.0 systems, which have CI on HP-UX and DIs on windows. The version is NW2004s SPS09.
    What we see is that after a restart of the windows servers (usually because of windows patching), the SAP system doesn't automatically start up. It doesn't start up if I restart the SAP<SID>_<instance> service either. 
    However, I've got no problem starting the system with the MMC.
    Any idea what I am missing here? is it as simple as a profile parameter ?
    As far as I can see the profile used seem ok.
    After a restart of the windows server the following files have log entries in the c:\usr\sap\<SID>\J<instance>\work folder
    sapstartsrv.log
    trc file: "sapstartsrv.log", trc level: 0, release: "700"
    Fri Nov 17 15:51:26 2006
    <<- ERROR: SapSSLInit(read_profile=1)==SSSLERR_LIB_NOT_FOUND
    sapstart.log
    Starting WebService thread
    SapSSLInit failed => https support disabled
    Webservice named pipe thread started, listening on port
    .\pipe\sapcontrol_97
    Webservice thread started, listening on port 59713
    sapstart.trc
    Starting WebService thread
    SapSSLInit failed => https support disabled
    Webservice named pipe thread started, listening on port
    .\pipe\sapcontrol_97
    Webservice thread started, listening on port 59713
    The windows event log have the application events
    (first)SAP Service SAP<SID>_<instance> successfully started.
    (at the same time)
    Failed to update service environment from user (STATOIL-NET\<sid>adm) environment. [ntservmgr.cpp 201]
    (note that this doesn't happen for all systems which have this problem, for other there is no entry like this)
    I see no failed login attemps in the security event log, but see the that a login is performed for SAPService<SID>.
    Since it also fails to automatically startup when I restart the service, I am able to use filemon to see what happens at a file level. Here I see that it can access the shared file system without any problems, and can read the profile and everything.
    MOM is running on the server and gets some Access denied errors since it doesn't have access to the shared file system, but I don't think that matters.
    Cheers
    Dagfinn

    hi  we are using sap bw 3.5 . database is oracle 9i
    i applied a kernel patch and when i tried to start the services . there was no problem with the oracle services  and saposcol but the service sap<sid>_nr did not start .
    when i went to check the error in work folder ..
    it say " SapSSLinit failed => https support disabled  .
    then i tried to start sap from cmd pmt . din`t work .
    is there a way to statrt this ...
    thanks alot.
    arjun

  • Loss of keyboard focus in Java appl running under linux

    I have a small sample program that replicates my problem. When this program is run a window is created. If you select File->New another instance of the program window is created. Now if you try to go back and bring to front the first window, keyboard focus is not
    transferred when run under linux. You can only type in the second window. The expected behavior does happen in Windows.
    > uname -a
    Linux watson 2.6.20-1.2933.fc6 #1 SMP Mon Mar 19 11:38:26 EDT 2007 i686 i686 i386 GNU/Linux
    java -versionjava version "1.5.0_11"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_11-b03)
    Java HotSpot(TM) Client VM (build 1.5.0_11-b03, mixed mode, sharing)
    javac -versionjavac 1.5.0_11
    import java.awt.event.*;
    import javax.swing.*;
    class SwingWindow extends JFrame {
        SwingWindow() {
         super("SwingWindow");
         JMenuBar menuBar = new JMenuBar();     
            JMenu fileMenu = new JMenu("File");
            JMenuItem newItem = new JMenuItem("New");
            newItem.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent event) {
              SwingWindow.createAndShowGUI();
         fileMenu.add(newItem);
            menuBar.add(fileMenu);
            setJMenuBar(menuBar);
            setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);       
         JTextField text = new JTextField(200);
         getContentPane().add(text);
         pack();
         setSize(700, 275);
        public static void createAndShowGUI() {
            JFrame frame = new SwingWindow();
            frame.setVisible(true);
        public static void main(String[] args) {
            javax.swing.SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    createAndShowGUI();
    }

    You can implement the FocusListener interface. When
    the first JFrame gains focus, call
    text.requestFocusInWindow(). I hope this helps.The call requestFocusInWindow is not helping, perhaps even making it worse.
    The problem seems to be that I am in the situation where the call
    KeyboardFocusManager.getCurrentKeyboardFocusManager().getPermanentFocusOwner()
    is returning the expected Component. The problem is that the KeyListener class that is registered with the Component is not being called when a key is being pressed.
    The issue is that I have a component that has the keyboard focus, but the KeyListener class
    is not responding.
    This seems to be a linux only problem which makes it only mysterious.

Maybe you are looking for