public IbusKeyboardSwitchingAdaptor(IIbusCommunicator ibusCommunicator) { _ibusComm = ibusCommunicator; if (KeyboardController.Instance != null) { KeyboardController.Instance.ControlAdded += OnControlRegistered; KeyboardController.Instance.ControlRemoving += OnControlRemoving; } // Don't turn on any Ibus IME keyboard until requested explicitly. // If we do nothing, the first Ibus IME keyboard is automatically activated. _ibusComm.FocusIn(); if (GlobalCachedInputContext.InputContext != null) { try { var context = GlobalCachedInputContext.InputContext; context.Reset(); GlobalCachedInputContext.Keyboard = null; context.SetEngine(""); context.Disable(); } catch (Exception e) { Console.WriteLine(e); } } _ibusComm.FocusOut(); }
public IbusKeyboardSwitchingAdaptor(IIbusCommunicator ibusCommunicator) { IBusCommunicator = ibusCommunicator; if (KeyboardController.EventProvider != null) { KeyboardController.EventProvider.ControlAdded += OnControlRegistered; KeyboardController.EventProvider.ControlRemoving += OnControlRemoving; } // Don't turn on any Ibus IME keyboard until requested explicitly. // If we do nothing, the first Ibus IME keyboard is automatically activated. IBusCommunicator.FocusIn(); if (GlobalCachedInputContext.InputContext != null) { try { var context = GlobalCachedInputContext.InputContext; context.Reset(); GlobalCachedInputContext.Keyboard = null; context.SetEngine(""); context.Disable(); } catch (Exception e) { Console.WriteLine(e); } } IBusCommunicator.FocusOut(); }
public override void Close() { if (m_ibuscom != null) { m_ibuscom.Dispose(); m_ibuscom = null; } }
/// <summary> /// Used in unit tests /// </summary> public IbusKeyboardAdaptor(IIbusCommunicator ibusCommunicator) { IBusCommunicator = ibusCommunicator; if (!IBusCommunicator.Connected) return; if (KeyboardController.EventProvider != null) { KeyboardController.EventProvider.ControlAdded += OnControlRegistered; KeyboardController.EventProvider.ControlRemoving += OnControlRemoving; } }
/// <summary> /// Used in unit tests /// </summary> public IbusKeyboardAdaptor(IIbusCommunicator ibusCommunicator) { IBusCommunicator = ibusCommunicator; if (!IBusCommunicator.Connected) { return; } if (KeyboardController.EventProvider != null) { KeyboardController.EventProvider.ControlAdded += OnControlRegistered; KeyboardController.EventProvider.ControlRemoving += OnControlRemoving; } }
public override bool ActivateKeyboard(IKeyboardDefinition keyboard) { Debug.Assert(keyboard is KeyboardDescription); Debug.Assert(((KeyboardDescription)keyboard).Engine == this); //Console.WriteLine("DEBUG CinnamonIbusAdaptor.ActivateKeyboard({0})", keyboard); if (keyboard is IbusKeyboardDescription) { var ibusKeyboard = keyboard as IbusKeyboardDescription; try { if (m_ibuscom == null) { m_ibuscom = new IbusCommunicator(); } m_ibuscom.FocusIn(); var ibusAdaptor = GetAdaptor <IbusKeyboardAdaptor>(); if (!ibusAdaptor.CanSetIbusKeyboard()) { return(false); } if (ibusAdaptor.IBusKeyboardAlreadySet(ibusKeyboard)) { return(true); } // Set the associated XKB layout SetLayout(ibusKeyboard); // Then set the IBus keyboard (may be an XKB keyboard in actuality) var context = GlobalCachedInputContext.InputContext; //Console.WriteLine ("DEBUG calling context.SetEngine({0})", ibusKeyboard.IBusKeyboardEngine.LongName); context.SetEngine(ibusKeyboard.IBusKeyboardEngine.LongName); GlobalCachedInputContext.Keyboard = ibusKeyboard; } catch (Exception e) { Debug.WriteLine(string.Format("Changing keyboard failed, is kfml/ibus running? {0}", e)); return(false); } } else { throw new ArgumentException(); } return(true); }
public IbusKeyboardAdaptorDouble(IIbusCommunicator ibusCommunicator) : base(ibusCommunicator) { }
public IbusKeyboardRetrievingAdaptorDouble(IIbusCommunicator ibusCommunicator) : base(ibusCommunicator) { }
/// <summary> /// Used in unit tests /// </summary> public IbusKeyboardRetrievingAdaptor(IIbusCommunicator ibusCommunicator) { _ibusComm = ibusCommunicator; }
public UnityIbusKeyboardSwitchingAdaptor(IIbusCommunicator ibusCommunicator) : base(ibusCommunicator) { }
/// <summary> /// Initializes a new instance of the /// <see cref="SIL.Windows.Forms.Keyboarding.Linux.CombinedIbusKeyboardRetrievingAdaptor"/> class. /// Used in unit tests /// </summary> /// <param name="ibusCommunicator">Ibus communicator.</param> public CombinedIbusKeyboardRetrievingAdaptor(IIbusCommunicator ibusCommunicator): base(ibusCommunicator) { }
public CombinedIbusKeyboardSwitchingAdaptor(IIbusCommunicator ibusCommunicator) : base(ibusCommunicator) { }
/// <summary> /// Initializes a new instance of the /// <see cref="SIL.Windows.Forms.Keyboarding.Linux.CombinedIbusKeyboardRetrievingAdaptor"/> class. /// Used in unit tests /// </summary> /// <param name="ibusCommunicator">Ibus communicator.</param> public CombinedIbusKeyboardRetrievingAdaptor(IIbusCommunicator ibusCommunicator) : base(ibusCommunicator) { }
public UnityIbusKeyboardSwitchingAdaptor(IIbusCommunicator ibusCommunicator) : base(ibusCommunicator) { }
public IbusKeyboardRetrievingAdaptorDouble(IIbusCommunicator ibusCommunicator): base(ibusCommunicator) { }
/// <summary> /// Initializes a new instance of the /// <see cref="SIL.Windows.Forms.Keyboarding.Linux.GnomeShellIbusKeyboardRetrievingAdaptor"/> class. /// </summary> /// <param name="ibusCommunicator">Ibus communicator.</param> /// <remarks>This overload is used in unit tests</remarks> protected GnomeShellIbusKeyboardRetrievingAdaptor(IIbusCommunicator ibusCommunicator) : base(ibusCommunicator) { }
public override void Close() { if (m_ibuscom != null) { m_ibuscom.Dispose(); m_ibuscom = null; } }
public override bool ActivateKeyboard(IKeyboardDefinition keyboard) { Debug.Assert(keyboard is KeyboardDescription); Debug.Assert(((KeyboardDescription)keyboard).Engine == this); //Console.WriteLine("DEBUG CinnamonIbusAdaptor.ActivateKeyboard({0})", keyboard); if (keyboard is IbusKeyboardDescription) { var ibusKeyboard = keyboard as IbusKeyboardDescription; try { if (m_ibuscom == null) m_ibuscom = new IbusCommunicator(); m_ibuscom.FocusIn(); var ibusAdaptor = GetAdaptor<IbusKeyboardAdaptor>(); if (!ibusAdaptor.CanSetIbusKeyboard()) return false; if (ibusAdaptor.IBusKeyboardAlreadySet(ibusKeyboard)) return true; // Set the associated XKB layout SetLayout(ibusKeyboard); // Then set the IBus keyboard (may be an XKB keyboard in actuality) var context = GlobalCachedInputContext.InputContext; //Console.WriteLine ("DEBUG calling context.SetEngine({0})", ibusKeyboard.IBusKeyboardEngine.LongName); context.SetEngine(ibusKeyboard.IBusKeyboardEngine.LongName); GlobalCachedInputContext.Keyboard = ibusKeyboard; } catch (Exception e) { Debug.WriteLine(string.Format("Changing keyboard failed, is kfml/ibus running? {0}", e)); return false; } } else { throw new ArgumentException(); } return true; }
public GnomeShellIbusKeyboardSwitchingAdaptor(IIbusCommunicator ibusCommunicator) : base(ibusCommunicator) { }
/// <summary> /// Used in unit tests /// </summary> public IbusKeyboardRetrievingAdaptor(IIbusCommunicator ibusCommunicator) { _IBusCommunicator = ibusCommunicator; }
/// <summary> /// Used in unit tests /// </summary> protected IbusKeyboardRetrievingAdaptor(IIbusCommunicator ibusCommunicator) { _ibusComm = ibusCommunicator; }
public IbusKeyboardAdaptorDouble(IIbusCommunicator ibusCommunicator): base(ibusCommunicator) { }
public CombinedIbusKeyboardSwitchingAdaptor(IIbusCommunicator ibusCommunicator) : base(ibusCommunicator) { }