CN112988029A - Method for realizing starting soft keyboard of login interface - Google Patents

Method for realizing starting soft keyboard of login interface Download PDF

Info

Publication number
CN112988029A
CN112988029A CN201911298699.3A CN201911298699A CN112988029A CN 112988029 A CN112988029 A CN 112988029A CN 201911298699 A CN201911298699 A CN 201911298699A CN 112988029 A CN112988029 A CN 112988029A
Authority
CN
China
Prior art keywords
soft keyboard
login interface
pipeline
soft
auxiliary thread
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201911298699.3A
Other languages
Chinese (zh)
Other versions
CN112988029B (en
Inventor
詹秋芳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Standard Software Co Ltd
Original Assignee
China Standard Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Standard Software Co Ltd filed Critical China Standard Software Co Ltd
Priority to CN201911298699.3A priority Critical patent/CN112988029B/en
Publication of CN112988029A publication Critical patent/CN112988029A/en
Application granted granted Critical
Publication of CN112988029B publication Critical patent/CN112988029B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Input From Keyboards Or The Like (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

The invention relates to a method for realizing starting a soft keyboard by a login interface, which comprises the following steps: step S1: after the user passes the verification, clicking a 'soft keyboard' icon, activating and starting a soft keyboard process; step S2: the login interface process receives a 'soft keyboard display' command in the message processing cycle process and judges whether a soft keyboard process exists or not; step S3: if the soft keyboard process does not exist, the soft keyboard process is created, an IO pipeline communicating with the soft keyboard process is created, and the state of the sub-process and the command words sent by the sub-process are obtained by monitoring the IO pipeline; step S4: if the soft keyboard process exists, a display command is sent to the soft keyboard process through an IO pipeline. The method for realizing the soft keyboard starting of the login interface provided by the invention has the advantages of stable system operation, high operation efficiency and good user experience.

Description

Method for realizing starting soft keyboard of login interface
Technical Field
The invention relates to the technical field of computer software man-machine interaction implementation mechanisms, in particular to an implementation method for starting a soft keyboard by a login interface.
Background
After the machine is started or restarted, before entering a system, a user is required to carry out identity authentication, and a work session environment is created according to the access right of the user. The authentication method generally includes inputting a user name and a user password, and the system can be accessed after the authentication is successful. Therefore, a keyboard is an indispensable input peripheral, but in the autonomous controllable model project, some special devices are special in use scenes and do not provide a mechanical keyboard, so a soft keyboard is often used for realizing user input. The soft keyboard, i.e. the virtual keyboard, appears as a simulated keyboard displayed on the display screen, and can replace the mechanical keyboard input by mouse clicking. This is particularly convenient when the mechanical keyboard is damaged or is otherwise unavailable.
The winning kylin operating system platform provides a soft keyboard program, but the soft keyboard cannot be used before entering the system, namely on a system login interface. The system login interface and the soft keyboard application belong to two independent applications respectively, and both have own window display and message circulation and processing mechanisms. Two processing modes are available on the display, one mode is a tight coupling mode, namely a plug-socket mode is adopted, the login interface is used as a support, and the soft keyboard window is embedded into the login interface. By analyzing the soft keyboard code, the soft keyboard itself is found to support the embedded mode, including creating child windows from parent window handles, ashing and hiding the "close" key, "exit" key, window "move" key, etc. in the embedded mode. However, after the window embedding mode is used, the hiding and displaying of the soft key dish window can cause the positions of other components of the login interface to move downwards or upwards, so that the phenomenon of shaking is generated, and the user experience is very poor. The other is a loose coupling mode, the login interface activates the soft keyboard program, the two windows are displayed independently, and the login program communicates with the soft keyboard program at a certain point. Therefore, the key point for realizing the starting of the soft keyboard is that the condition of the existing application is not influenced basically, and how to realize the interaction among the processes.
Disclosure of Invention
In order to solve the defects of the prior art, the invention provides a method for realizing the starting of a soft keyboard by a login interface, which comprises the following steps:
step S1: after the user passes the verification, clicking a 'soft keyboard' icon, activating and starting a soft keyboard process;
step S2: the login interface process receives a 'soft keyboard display' command in the message processing cycle process and judges whether a soft keyboard process exists or not;
step S3: if the soft keyboard process does not exist, the soft keyboard process is created, an IO pipeline communicating with the soft keyboard process is created, and the state of the sub-process and the command words sent by the sub-process are obtained by monitoring the IO pipeline;
step S4: if the soft keyboard process exists, a display command is sent to the soft keyboard process through an IO pipeline.
Wherein, still include the following step:
step S5: after the software key dish process is started, responding to a request of a user for clicking a keyboard button through an internal message processing function;
step S6: if the user clicks an exit button, the soft key plate process exits, and an exit message is transmitted to the login interface process through an IO pipeline; if the user clicks a closing button, the soft key plate process hides the window displaying the soft keyboard and transmits a hidden message to the login interface process through an IO pipeline;
step S7: after receiving the quit or close message, the login interface process updates the corresponding state;
step S8: and after the user enters the system, the login interface process exits.
In step S3, the login interface process creates a soft keyboard process by calling a fork function, and creates an IO pipe by calling a pipe function.
After the log-in interface process creates the IO pipeline, two file descriptors in _ fd and out _ fd are obtained and respectively point to the read end and the write end of the IO pipeline, and correspondingly, the soft key plate process also corresponds to the two corresponding file descriptors and respectively point to the read end and the write end of the IO pipeline.
Wherein the softkey disc process comprises two threads: a main thread for implementing message circulation and an auxiliary thread for reading the IO pipe, the auxiliary thread being normally in a blocking state; and when the login interface process writes a display command into the IO pipeline, the auxiliary thread is activated.
And when the main thread is idle, receiving a display and hiding request of a soft keyboard window sent by the auxiliary thread, and scheduling and executing a specified soft keyboard window display and hiding function so as to realize the serialized access of the auxiliary thread to GUI resources.
The software key dish process comprises two threads, namely a main thread and an auxiliary thread; the main thread is used for the message circulation of the soft keyboard window, responding to a user interaction command and receiving a request for displaying and hiding the soft keyboard window sent by the auxiliary thread, and writing an IO pipeline to a login interface process; the auxiliary thread is used for monitoring the state of the read IO pipeline, if the read IO pipeline has no readable information, the auxiliary thread is in a blocking state, when the log-in interface process writes information to the read IO pipeline, the auxiliary thread is activated, and an information allocation request is acquired from the read IO pipeline.
The method for realizing the soft keyboard starting of the login interface provided by the invention has the advantages of stable system operation, high operation efficiency and good user experience.
Drawings
FIG. 1: the invention provides an implementation mechanism frame diagram of an implementation method for starting a soft keyboard by a login interface.
Detailed Description
In order to further understand the technical scheme and the advantages of the present invention, the following detailed description of the technical scheme and the advantages thereof is provided in conjunction with the accompanying drawings.
Fig. 1 is a frame diagram of an implementation mechanism of an implementation method for starting a soft keyboard by a login interface according to the present invention, and as shown in fig. 1, a user login interface is displayed before entering a system, and prompts to select a user name (if multiple account numbers exist) and input a password for authentication, if the authentication is passed, the user can successfully enter the system, otherwise, the user login interface will be left. The user login interface is simple to operate, and the soft keyboard application can be activated to input by clicking the 'soft keyboard' icon on the interface. From the internal implementation mechanism, the whole function comprises two process running spaces, one is a login interface process space, the process is always present before entering the system, and the process is exited after entering the system. Clicking the "soft keyboard" icon starts the soft keyboard process, which exists as a sub-process of the login interface process, and when the login interface process exits, the "soft keyboard" sub-process also exits. The first diagram is a frame diagram of a login interface supporting a soft keyboard input function under a bid-winning kylin operating system platform, and the frame diagram comprises a login interface process space, a soft keyboard process space processing process for login input and a communication principle of the two processes. After receiving a 'display soft keyboard' command in a message processing cycle, the login interface process judges whether the soft keyboard process exists or not, if the soft keyboard process does not exist, the login interface process creates a soft key plate process, creates an IO pipeline to realize communication with the soft key plate process, and monitors the IO pipeline to acquire the state of the subprocess and the command word sent by the subprocess. If the sub-process already exists, the display command is sent to the soft key disk process through the IO pipeline. After the soft keyboard process is started, the soft keyboard process also has a message processing function of the soft keyboard process, and the message processing function internally responds to the keyboard button clicked by a user. If the user clicks an exit button, the sub-process exits and an exit message is transmitted to the login interface process through the IO pipeline; if the user clicks the "close" button, the child process window is hidden and the hidden message is passed to the login interface process through the IO pipe. And the login interface process can perform corresponding state updating processing after receiving the exit or closing message.
The creation of an I/O pipeline to realize inter-process communication is one of the key technologies of the invention, and the I/O pipeline is a most basic IPC mechanism and acts between processes with blood relationship to complete data transfer.
The login interface process calls a pipe function to create a pipeline, and two file descriptors in _ fd and out _ fd are obtained to point to a read end and a write end of the pipeline. The login interface process calls fork to create a soft keyboard process, and then the soft keyboard process also has two file descriptors pointing to the same pipeline.
The key C code is as follows:
Figure BDA0002321311130000051
Figure BDA0002321311130000061
Figure BDA0002321311130000071
Figure BDA0002321311130000081
Figure BDA0002321311130000091
with continued reference to FIG. 1, another core point of the present invention is to implement techniques for assisting threads in accessing a graphical interface.
There are two threads in the soft keyboard process, the main thread is used to implement message circulation, the auxiliary thread is used to read I/O pipe, usually in blocking state, when the login interface process writes the "display" command into the pipe, the auxiliary thread in the soft keyboard process will be activated. If the display and hidden interface of the soft keyboard window is directly called in the assistant thread, the soft keyboard process is easy to generate resource competition exception, because in most platforms, the GUI resource is not protected by locking due to efficiency, and the access to the GUI resource needs to be serialized, that is, in the GUI application program, only one thread can directly operate the GUI resource, and usually all threads are main threads. In order to realize the access of the auxiliary thread to the GUI resource, an idle mechanism is needed to be used, and an idle task is added, because the idle task is not a separate thread or process but is executed in the main thread. And the auxiliary thread sends the display and hiding requests of the soft keyboard window to the main thread, and when the main thread is idle, the specified soft keyboard window display and hiding functions are scheduled and executed, so that the access of serialization to the GUI is realized.
The key python code is as follows:
Figure BDA0002321311130000092
Figure BDA0002321311130000101
Figure BDA0002321311130000111
in the invention, the so-called "winning bid kylin operating system platform" is a national operating system flagship product provided by winning bid software Limited, and comprises a server version and a desktop version which respectively support a Loongson processor, an ARM processor, a Shenwei processor and an X86 processor.
In the present invention, the "login interface" refers to a GUI interface before entering the system after starting or restarting the machine, and mainly prompts the user to input a password and other initialization operations.
In the invention, the so-called 'soft keyboard', namely the virtual keyboard, is represented by displaying a simulated keyboard on a display screen, and mouse clicking can be used for replacing mechanical keyboard input. Mechanical keyboards are particularly convenient if they are damaged or not available.
In the present invention, the "Python" is a high-level programming language of an interpreted, object-oriented, dynamic data type.
In the present invention, a so-called "IO channel" is used for data transmission between a byte buffer and an entity (typically a file or a socket) located on the other side of the channel for efficiency. With the channel, the operating system's own I/O services can be accessed with minimal overhead.
In the present invention, the GUI is called a Graphical User Interface (GUI for short, also called Graphical User Interface), and refers to a computer operation User Interface displayed in a Graphical manner.
Although the present invention has been described with reference to the preferred embodiments, it should be understood that the scope of the present invention is not limited thereto, and those skilled in the art will appreciate that various changes and modifications can be made without departing from the spirit and scope of the present invention.

Claims (7)

1. A method for realizing starting of a soft keyboard by a login interface is characterized by comprising the following steps:
step S1: after the user passes the verification, clicking a 'soft keyboard' icon, activating and starting a soft keyboard process;
step S2: the login interface process receives a 'soft keyboard display' command in the message processing cycle process and judges whether a soft keyboard process exists or not;
step S3: if the soft keyboard process does not exist, the soft keyboard process is created, an IO pipeline communicating with the soft keyboard process is created, and the state of the sub-process and the command words sent by the sub-process are obtained by monitoring the IO pipeline;
step S4: if the soft keyboard process exists, a display command is sent to the soft keyboard process through an IO pipeline.
2. The method for implementing a login interface to start a soft keyboard as claimed in claim 1, further comprising the steps of:
step S5: after the software key dish process is started, responding to a request of a user for clicking a keyboard button through an internal message processing function;
step S6: if the user clicks an exit button, the soft key plate process exits, and an exit message is transmitted to the login interface process through an IO pipeline; if the user clicks a closing button, the soft key plate process hides the window displaying the soft keyboard and transmits a hidden message to the login interface process through an IO pipeline;
step S7: after receiving the quit or close message, the login interface process updates the corresponding state;
step S8: and after the user enters the system, the login interface process exits.
3. A method for implementing a login interface to start a soft keyboard as claimed in claim 1, wherein: in step S3, the login interface process creates a soft keyboard process by calling a fork function, and creates an IO pipe by calling a pipe function.
4. A method for implementing a login interface to start a soft keyboard as claimed in claim 3, wherein: after the log-in interface process creates the IO pipeline, two file descriptors in _ fd and out _ fd are obtained, which respectively point to the read end and the write end of the IO pipeline, and correspondingly, the soft key plate process also has two corresponding file descriptors which respectively point to the read end and the write end of the IO pipeline.
5. A method for implementing a login interface to start a soft keyboard as claimed in claim 1, wherein: the softkey disk process includes two threads: a main thread for implementing message circulation and an auxiliary thread for reading the IO pipe, the auxiliary thread being normally in a blocking state; and when the login interface process writes a display command into the IO pipeline, the auxiliary thread is activated.
6. An implementation method of starting a soft keyboard by a login interface as claimed in claim 5, wherein: and idle tasks added through an idle mechanism are arranged in the main thread of the soft key dish process and used for receiving the display and hiding requests of the soft keyboard window sent by the auxiliary thread when the main thread is idle, and scheduling and executing the display and hiding functions of the specified soft keyboard window so as to realize the serialized access of the auxiliary thread to GUI resources.
7. An implementation method of starting a soft keyboard by a login interface as claimed in claim 5, wherein: the soft key dish process comprises two threads, namely a main thread and an auxiliary thread; the main thread is used for the message circulation of the soft keyboard window, responding to a user interaction command and receiving a request for displaying and hiding the soft keyboard window sent by the auxiliary thread, and writing an IO pipeline to a login interface process; the auxiliary thread is used for monitoring the state of the read IO pipeline, if the read IO pipeline has no readable information, the auxiliary thread is in a blocking state, when the log-in interface process writes information to the read IO pipeline, the auxiliary thread is activated, and an information allocation request is acquired from the read IO pipeline.
CN201911298699.3A 2019-12-17 2019-12-17 Implementation method for starting soft keyboard on login interface Active CN112988029B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911298699.3A CN112988029B (en) 2019-12-17 2019-12-17 Implementation method for starting soft keyboard on login interface

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911298699.3A CN112988029B (en) 2019-12-17 2019-12-17 Implementation method for starting soft keyboard on login interface

Publications (2)

Publication Number Publication Date
CN112988029A true CN112988029A (en) 2021-06-18
CN112988029B CN112988029B (en) 2023-05-30

Family

ID=76341878

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911298699.3A Active CN112988029B (en) 2019-12-17 2019-12-17 Implementation method for starting soft keyboard on login interface

Country Status (1)

Country Link
CN (1) CN112988029B (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030217287A1 (en) * 2002-05-16 2003-11-20 Ilya Kruglenko Secure desktop environment for unsophisticated computer users
US20070220494A1 (en) * 2003-11-06 2007-09-20 Intuwave Limited A Method of Rapid Software Application Development for a Wireless Mobile Device
CN102331927A (en) * 2011-06-24 2012-01-25 浙大网新科技股份有限公司 Method for integrating soft keyboard input of Wine and Android mobile phone
CN102446116A (en) * 2010-09-30 2012-05-09 ***通信有限公司 System and method for input tool invoking and proxy device
CN102508765A (en) * 2011-11-17 2012-06-20 深圳市中兴移动通信有限公司 Method for monitoring software log in real time by inter-process communication
CN102855128A (en) * 2011-06-28 2013-01-02 希姆通信息技术(上海)有限公司 Implementation method of interface system based on Android kernel
US20190114075A1 (en) * 2017-10-17 2019-04-18 Samsung Electronics Co., Ltd. Electronic device and method for executing function using input interface displayed via at least portion of content

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100555202C (en) * 2007-07-24 2009-10-28 中兴通讯股份有限公司 A kind of character entry apparatus and method

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030217287A1 (en) * 2002-05-16 2003-11-20 Ilya Kruglenko Secure desktop environment for unsophisticated computer users
US20070220494A1 (en) * 2003-11-06 2007-09-20 Intuwave Limited A Method of Rapid Software Application Development for a Wireless Mobile Device
CN102446116A (en) * 2010-09-30 2012-05-09 ***通信有限公司 System and method for input tool invoking and proxy device
CN102331927A (en) * 2011-06-24 2012-01-25 浙大网新科技股份有限公司 Method for integrating soft keyboard input of Wine and Android mobile phone
CN102855128A (en) * 2011-06-28 2013-01-02 希姆通信息技术(上海)有限公司 Implementation method of interface system based on Android kernel
CN102508765A (en) * 2011-11-17 2012-06-20 深圳市中兴移动通信有限公司 Method for monitoring software log in real time by inter-process communication
US20190114075A1 (en) * 2017-10-17 2019-04-18 Samsung Electronics Co., Ltd. Electronic device and method for executing function using input interface displayed via at least portion of content

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
KAIDUL ISLAM ET AL.: "Designing a press and swipe type single layered Bangla soft keyboard for Android devices", 《16TH INT"L CONF. COMPUTER AND INFORMATION TECHNOLOGY》 *
王玉菁 等: "基于微内核的虚拟机I/O安全机制", 《计算机***应用》 *
蒋侠杰: "进程间通信技术及其在***集成中的运用研究", 《中国新通信》 *

Also Published As

Publication number Publication date
CN112988029B (en) 2023-05-30

Similar Documents

Publication Publication Date Title
US20200348654A1 (en) Zero footprint robotic process automation system
US8863113B1 (en) Method and system for unattended installation of guest operating system
US8291047B2 (en) Screen scraping interface
CN112668386A (en) Long running workflows for document processing using robotic process automation
US5546583A (en) Method and system for providing a client/server interface in a programming language
US20090300190A1 (en) Data Serialization In A User Switching Environment
US11947443B2 (en) Robotic process automation (RPA) debugging systems and methods
US8429454B2 (en) Coordination of error reporting among multiple managed runtimes in the same process
WO2000010083A2 (en) Method and apparatus for data item movement between disparate sources and hierarchical, object-oriented representation
US20080072155A1 (en) Method and apparatus for identifying hotkey conflicts
US11604627B2 (en) Systems and methods for on-demand provisioning of robotic process automation environments
US20140053157A1 (en) Asynchronous execution flow
CN111330280B (en) Method and device for processing data in game, storage medium and electronic equipment
US20020052977A1 (en) Method and apparatus for adapting and hosting legacy user interface controls
US11977904B2 (en) Systems and methods for robotic process automation of mobile platforms
CN109308241A (en) Monitor application program launching flow and method, device, terminal device and storage medium
JP2002049587A (en) Job monitor
JP2023070148A (en) Systems and methods for dynamically binding robotic process automation (RPA) robots to resources
CN116893807A (en) System and method for designing a robotic flow automation robot using a browser
WO2020223365A1 (en) Zero footprint robotic process automation system
US10817820B2 (en) Facilitating provisioning in a mixed environment of locales
US7865883B1 (en) Parallel and asynchronous debugger and debugging method for multi-threaded programs
KR100895929B1 (en) Mechanism for asynchronous components to be application framework agnostic
US7848928B2 (en) Overriding default speech processing behavior using a default focus receiver
US20080127301A1 (en) Delivering Callbacks Into Secure Application Areas

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant