An information input method, apparatus, device, medium, and program product

By employing a rotary keyboard and motion vector detection in AR devices to determine the keys, the size and control stability issues of ray cursor keyboards are resolved, achieving an efficient and comfortable information input method.

CN115454262BActive Publication Date: 2025-10-31BEIJING POSITIVE & NEGATIVE INFINITE TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202211168201.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-09-23
Publication Date
2025-10-31
Estimated Expiration
2042-09-23

AI Technical Summary

Technical Problem

In existing AR devices, ray-curve virtual keyboards are large in size and have large key spacing, which causes users to spend time and attention when inputting, and the control stability requirements are high, affecting input efficiency and comfort.

Method used

It adopts a rotary keyboard with a pointer in the center and keys arranged in a circle around the pointer. By detecting the motion vector of the device, it determines the pointer's target key and responds to confirm the operation input information, simplifying user movement and improving input efficiency.

Benefits of technology

It enables efficient information input through minimal user movement, allowing users to input information in any comfortable posture, reducing fatigue and improving input efficiency and comfort.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115454262B_ABST
    Figure CN115454262B_ABST
Patent Text Reader

Abstract

This application provides an information input method, apparatus, device, medium, and program product, relating to the field of AR (Augmented Reality). The method is applied to an AR device equipped with a rotary keyboard, connected to a detection device controlled by a target object. A rotatable pointer is located at the center of the rotary keyboard, and all keys are arranged in a circle around the pointer. Specifically, the method includes: if the rotary keyboard is active, receiving a first motion vector detected by the detection device, and determining the target key pointed to by the pointer based on the first motion vector; in response to the determination operation, inputting target information corresponding to the target key. The solution provided by this application not only achieves high input efficiency but also facilitates information input by the user in a comfortable posture.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of AR technology, and more specifically, to an information input method, apparatus, electronic device, computer-readable storage medium, and computer program product. Background Technology

[0002] Currently, AR devices generally use ray-tracing virtual keyboards as text input keyboards. The principle of ray-tracing keyboards is: a ray is emitted from the control terminal as a cursor to locate and select a key on the virtual keyboard, and then the activation event is executed through control methods such as buttons.

[0003] However, the following problem exists when using a ray-traced virtual keyboard:

[0004] 1. To ensure accurate ray positioning of each key, the virtual keyboard needs to be large enough. On one hand, a large size means occupying a significant amount of display space on the AR device. On the other hand, a large size also means greater spacing between keys, or greater distance between non-adjacent keys, requiring users to spend more time and attention moving between keys.

[0005] 2. The control terminal needs to be sufficiently stable to accurately select buttons. Therefore, to avoid ray deviation, AR device users need to spend more time and attention maintaining stable control of the control terminal. Summary of the Invention

[0006] The purpose of this application is to provide an information input method, apparatus, and related products, aiming to solve one of the above-mentioned technical problems. To achieve this purpose, the embodiments of this application provide the following technical solutions.

[0007] On one hand, embodiments of this application provide an information input method applied to an AR device equipped with a rotary keyboard; wherein the AR device is connected to a detection device, and the movement of the detection device is controlled by a target control object; the method includes:

[0008] If the rotary keyboard is active, it receives the first motion vector detected by the detection device; a pointer is set at the center of the rotary keyboard, and all keys are arranged in a circle around the pointer; the first motion vector describes the angular change when the detection device rotates; the target key pointed to by the pointer is determined according to the first motion vector; in response to the determination operation, the target information corresponding to the target key is input.

[0009] Optionally, before the rotary keyboard is activated, the method includes:

[0010] In response to a trigger operation on the input box, a second motion vector detected by the detection device is received; the second motion vector describes the acceleration of the detection device during movement; an initial first angle of the detection device is determined based on the second motion vector; a second angle of the pointer in the initial frame image is determined based on the initial first angle; the initial frame image is the first frame image displayed when the rotary keyboard is active.

[0011] Optionally, determining the initial first angle of the detection device based on the second motion vector includes:

[0012] Based on the coordinates of the second motion vector on the first and second coordinate axes respectively, the azimuth angle is determined; based on the azimuth angle, the initial first angle of the detection device is determined.

[0013] Optionally, the detection device includes infrared positioning functionality; the method further includes, prior to the rotary keyboard being activated:

[0014] In response to a trigger operation on the input box, the device receives the initial first angle detected by the detection device based on the infrared positioning function.

[0015] Optionally, determining the target button pointed to by the pointer based on the first motion vector includes:

[0016] The second angle of the pointer in the next frame is determined based on the first motion vector; the target button that the pointer is pointing to in the next frame is determined based on the second angle of the pointer in the next frame.

[0017] Optionally, determining the second angle of the pointer in the next frame image based on the first motion vector includes:

[0018] Obtain the motion value of the first motion vector on the third coordinate axis; sum the product of the motion value and a preset multiple with the second angle of the pointer in the current frame image, and use the second angle of the pointer in the next frame image; wherein, the sum of the motion value and the first angle of the detection device in the display cycle of the current frame image is the first angle of the detection device in the display cycle of the next frame image.

[0019] Optionally, input the target information corresponding to the target button, including:

[0020] Obtain the keyboard mode of the rotary keyboard and the information content set corresponding to the target key in the keyboard mode; determine the target information from the information content set according to the determination operation; and input the target information into the input box.

[0021] Optionally, the determination operation includes any of the following:

[0022] A confirmation operation is entered by triggering a preset button on a detection device or AR device; or a confirmation operation is entered by detecting a preset gesture on a detection device or AR device.

[0023] On the other hand, embodiments of this application provide an information input device applied to an AR device equipped with a rotary keyboard; wherein the AR device is connected to a detection device, and the movement of the detection device is controlled by a target control object; the device includes:

[0024] The transceiver module is used to receive the first motion vector detected by the detection device when the rotary keyboard is active. A pointer is set at the center of the rotary keyboard, and all the keys are arranged in a circle around the pointer. The first motion vector describes the angular change when the detection device rotates.

[0025] The first determining module is used to determine the target button pointed to by the pointer based on the first motion vector.

[0026] The second determining module is used to respond to the determining operation by inputting the target information corresponding to the target button.

[0027] In another aspect, embodiments of this application provide an electronic device, which includes: a memory, a processor, and a computer program stored in the memory, characterized in that the processor executes the computer program to implement the steps of an information input method provided in embodiments of this application.

[0028] This application also provides a computer-readable storage medium storing a computer program thereon, wherein the computer program, when executed by a processor, implements the steps of an information input method.

[0029] This application also provides a computer program product, including a computer program, which, when executed by a processor, implements the steps of an information input method.

[0030] The beneficial effects of the technical solutions provided in this application are:

[0031] This application provides an information input method applied to an AR device connected to a detection device. The movement of the detection device is controlled by a target control object. The AR device is equipped with a rotary keyboard with a rotatable pointer at its center. All keys on the rotary keyboard are arranged in a circle around the pointer. Controlled by the movement of the target control object, the detection device detects the change in the current rotation angle, i.e., the first motion vector. Specifically, if the rotary keyboard is active, it receives the first motion vector detected by the detection device and determines the target key pointed to by the pointer based on the first motion vector. In response to the determination operation, target information corresponding to the target key is input. That is, the key is the change in the angle of the target control object controlling the movement of the detection device; it is not related to the magnitude of the movement of the detection device. The movement or position of the target control object has no direct interaction with the rotary keyboard; it is an indirect interaction.

[0032] Therefore, the method shown in this application embodiment has the following technical effects: On the one hand, it can achieve high information input efficiency with only a small range of hand movements, and users will not feel tired even after long periods of information input. On the other hand, the user's position or hand posture will not affect the input on the rotary keyboard, allowing users to input information in any comfortable posture. Attached Figure Description

[0033] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments of this application will be briefly introduced below.

[0034] Figure 1 A flowchart illustrating an information input method provided in an embodiment of this application;

[0035] Figure 2a This is a schematic diagram of a rotary keyboard provided in an embodiment of this application;

[0036] Figure 2b This is a schematic diagram illustrating an application scenario of a rotary keyboard provided in an embodiment of this application;

[0037] Figure 2c This is a schematic diagram illustrating another application scenario of a rotary keyboard provided in an embodiment of this application;

[0038] Figure 3 This is a schematic diagram of the structure of an information input device provided in an embodiment of this application;

[0039] Figure 4 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0040] The embodiments of this application are described below with reference to the accompanying drawings. It should be understood that the embodiments described below with reference to the accompanying drawings are exemplary descriptions for explaining the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions of the embodiments of this application.

[0041] Those skilled in the art will understand that, unless specifically stated otherwise, the singular forms “a,” “an,” “the,” and “the” used herein may also include the plural forms. It should be further understood that the terms “comprising” and “including” as used in embodiments of this application mean that the corresponding feature can be implemented as the presented feature, information, data, step, operation, element, and / or component, but do not exclude implementation as other features, information, data, step, operation, element, component, and / or combinations thereof supported by the art. It should be understood that when we say that an element is “connected” or “coupled” to another element, the one element can be directly connected or coupled to the other element, or it can mean that the one element and the other element establish a connection relationship through an intermediate element. Furthermore, “connected” or “coupled” as used herein can include wireless connection or wireless coupling. The term “and / or” as used herein indicates at least one of the items defined by the term; for example, “A and / or B” can be implemented as “A,” or as “B,” or as “A and B.”

[0042] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.

[0043] To address the problems described in the background art, this application provides an information input method applicable to various AR (Augmented Reality) devices. The AR device is equipped with a rotary keyboard connected to a detection device, the movement of which is controlled by a target object (e.g., a user's hand). A pointer is positioned at the center of the rotary keyboard, and all keys are arranged in a circle around the pointer. After the AR device is activated, if the keyboard is detected to be active during rotation, a first motion vector detected by the detection device can be received. This first motion vector describes the angular change during the rotation of the detection device. The target key pointed to by the pointer is determined based on the first motion vector, and in response to the determination operation, target information corresponding to the target key is input. The method provided in this application not only achieves high information input efficiency with minimal hand movement but also prevents fatigue even during prolonged information input. It also allows users to input information in a comfortable posture.

[0044] Optionally, the AR device can be a head-mounted AR helmet, or monocular / dual-eye / headband AR glasses.

[0045] Optionally, the detection device can be a smart detection bracelet. When a user wears the smart detection bracelet, the movement of the user's hand drives the movement of the smart detection bracelet. The detection unit of the smart detection bracelet detects various motion parameters, such as changes in angle and acceleration during movement. Alternatively, the detection device can be a smart handle. When a user grips the smart handle, the detection unit of the smart handle detects various motion parameters, such as changes in angle and acceleration during movement, through the user's control of the handle.

[0046] Optionally, the method provided in this application embodiment can be implemented as a standalone application or a functional module / plugin of an application. For example, the application can be a dedicated information input application or an application with information input functionality. Information input operations can be performed through this application.

[0047] To better understand the solutions provided by the embodiments of this application, the technical solutions of the embodiments of this application and the technical effects produced by the technical solutions of this application are described below through the description of several exemplary implementation methods. It should be noted that the following implementation methods can be referenced, borrowed, or combined with each other, and the same terms, similar features, and similar implementation steps in different implementation methods will not be described again.

[0048] Figure 1 An information input method is illustrated. This method is applied to an AR device equipped with a rotary keyboard; the AR device is connected to a detection device, the movement of which is controlled by a target object. Specifically, the method includes steps S110 to S130.

[0049] S110, if the rotary keyboard is in an active state, receive the first motion vector detected by the detection device; a pointer is set at the center of the rotary keyboard, and all keys are arranged in a circle around the pointer; the first motion vector describes the angular change when the detection device rotates.

[0050] Optionally, the rotary keyboard can be activated when any input field in the AR device's display interface is triggered. When the rotary keyboard is activated, its interface will be displayed on the current page. This rotary keyboard is a virtual keyboard; the keys and pointers are virtual and do not correspond to a physical keyboard.

[0051] Optionally, the target control object can operate detection devices, such as a user's hand.

[0052] Optionally, the AR device can pair and connect with the detection device via supported Bluetooth functionality; the AR device and the detection device can also connect directly via WiFi Direct, with the AR device acting as the GO (group owner) in the WiFi Direct network architecture. WiFi Direct supports peer-to-peer connections, meaning these devices support both infrastructure networks and P2P connections.

[0053] Optionally, the distance between the centers of each key on the rotary keyboard is fixed, meaning each key lies on the circumference of the same circle; alternatively, the spacing between each key on the rotary keyboard is the same. Optionally, the rotary keyboard can provide different keyboard modes, such as numeric mode, English mode, Chinese mode, emoji mode, image mode, and music mode.

[0054] Optionally, different keyboard modes can input different target information. For example, in numeric mode, you can input any number from 0 to 9; in English mode, you can input any letter from A to Z or a to z; in Chinese mode, you can input any Chinese character; in emoticon mode, you can input any configured emoticon; in image mode, you can preset an image for each key, meaning you can set multiple photos to choose from; and in music mode, you can preset a piece of music for each key, meaning you can set multiple music tracks to choose from. Setting multiple keyboard modes can increase the practicality and fun of the rotary keyboard.

[0055] like Figure 2a As shown in the diagram, this application embodiment provides a structural schematic of a rotary keyboard, which is also the keyboard's user interface. The rotary keyboard provides 10 keys. In different keyboard modes, each key corresponds to different information. For example, in numeric mode, key 9 corresponds to the number "9"; in English mode, key 9 can correspond to any of the letters wxyz, with the specific letter selected depending on the input; and in emoticon mode, key 9 represents the "smiling" emoticon.

[0056] S120, determine the target button pointed to by the pointer based on the first motion vector.

[0057] S130, in response to the confirmation operation, input the target information corresponding to the target button.

[0058] Optionally, the target information can be text content, emoticons, or image information, etc.

[0059] Since rotary keyboards determine key selection by the direction of a pointer, and the pointer's direction is determined by its angle, determining the initial pointer angle is crucial for the subsequent key selection process. The following section will explain how to determine the initial pointer angle.

[0060] In an optional embodiment, before the rotary keyboard is activated, the method includes the following steps Sa1 to Sa3.

[0061] Sa1, in response to a trigger operation on the input box, receives a second motion vector detected by the detection device; the second motion vector is an acceleration describing the movement of the detection device.

[0062] Specifically, the detection device acquires various motion parameters of the current device, such as the acceleration of the current device during movement, and sends them to the AR device as a second motion vector.

[0063] The space in which the detection device moves is three-dimensional; therefore, the detected motion vectors have three-dimensional characteristics. For example, both the first and second motion vectors are three-dimensional vectors.

[0064] Sa2, the initial first angle of the detection device is determined based on the second motion vector.

[0065] Optionally, the azimuth angle is determined based on the coordinates of the second motion vector on the first and second coordinate axes respectively; and the initial first angle of the detection device is determined based on the azimuth angle.

[0066] In one example, the preset algorithm is the atan2 algorithm (a function that can be used to calculate azimuth angles), with the first and second coordinate axes being the Y-axis and Z-axis, respectively. Substituting the Y and Z coordinates of the second motion vector into the atan2 formula yields an angle value relative to the Z-axis. The atan2 algorithm is referenced in Formula 1 below:

[0067]

[0068] In other examples, the first and second coordinate axes can also be the X and Y axes, or the X and Z axes. When using the atan2 algorithm, the angle relative to the Y axis can also be calculated. It should be noted that this setting can be adjusted according to the user's needs or the desired comfort level during rotation.

[0069] Sa3 determines the second angle of the pointer in the initial frame image based on the initial first angle; the initial frame image is the first frame image displayed when the rotary keyboard is active.

[0070] Specifically, the initial first angle is determined as the second angle of the pointer in the initial image frame. When the AR device displays the first frame image after activating the rotary keyboard, the second angle of the pointer in the initial image frame is obtained, thereby determining the specific position of the initial image frame.

[0071] Since the azimuth angle calculated based on acceleration may have deviations, the accuracy of the obtained first angle can be improved by setting a deviation value. Optionally, the sum of the initial first angle and the preset deviation angle can be used as the second angle of the pointer in the initial image frame.

[0072] In an optional embodiment, the detection device may further include infrared positioning functionality or a magnetometer. Before the rotary keyboard is activated, the method further includes:

[0073] In response to a trigger operation on the input box, the device receives the initial first angle detected by the detection device based on the infrared positioning function.

[0074] Specifically, the rotation angle of the device can be obtained based on the infrared positioning function, and this rotation angle can be determined as the initial first angle of the detection device. For information on infrared positioning or geomagnetic detection functions, please refer to relevant technologies.

[0075] Optionally, the detection device includes an inertial measurement unit and a magnetometer. For example, the initial first angle can be detected by the inertial measurement unit and the magnetometer. Optionally, the inertial detection unit can also detect a first motion vector and a second motion vector.

[0076] When the rotary keyboard is in an active state, how to convert the motion parameters detected by the detection device into the keys on the rotary keyboard is the technical problem that this application needs to solve.

[0077] In an optional embodiment, the target button pointed to by the pointer is determined according to the first motion vector, which may specifically include the following steps Sb1 to Sb2.

[0078] Sb1 determines the second angle of the pointer in the next frame image based on the first motion vector.

[0079] Specifically, the motion value of the first motion vector on the third coordinate axis is obtained; the sum of the product of the motion value and a preset multiple and the second angle of the pointer in the current frame image is used as the second angle of the pointer in the next frame image.

[0080] Here, since the first motion vector is a vector in a 3D coordinate system, and the first motion vector describes the angular change when the detection device rotates, its change is manifested in three aspects. Firstly, the first angle between any vector and the plane formed by the first and second coordinate axes; secondly, the second angle between any vector and the plane formed by the second and third coordinate axes; and thirdly, the third angle between any vector and the plane formed by the first and third coordinate axes. The first, second, and third angles are the numerical values ​​of the first motion vector's motion along the third, first, and second coordinate axes, respectively.

[0081] Specifically, obtaining the motion value of the first motion vector on the third coordinate axis is equivalent to obtaining the first included angle. For example, the detection device can be considered as the "third coordinate axis," which is rotatable. During rotation, the "third coordinate axis" revolves around the first coordinate axis while maintaining a perpendicular position to it. Thus, during rotation, the "third coordinate axis" forms an angle with the second coordinate axis. This angle can also be understood as the angle between the "third coordinate axis" and the plane formed by the first and second coordinate axes.

[0082] Optionally, the sum of the motion value and the first angle of the detection device in the display cycle of the current frame image is the first angle of the detection device in the display cycle of the next frame image.

[0083] Continuing the example above, with the first and second coordinate axes being the Y-axis and Z-axis, the third coordinate axis is the X-axis. The first motion vector can be represented as (x1, y1, z1). The motion value x1 along the X-axis during the angle change is used as the reference for adjusting the angle change. For example, when the detection device is rotated to a specified angle by hand rotation, the pointer angle changes accordingly, and the pointer angle change is controlled by setting a linkage factor (such as a preset multiple). If the detection device rotates 90 degrees, the pointer rotates 180 degrees. In angles that cannot be reached by hand rotation due to physiological limitations, the pointer rotation angle can be obtained in this way, thereby adjusting the pointer.

[0084] Sb2 determines the target button that the pointer is pointing to in the next frame image based on the second angle of the pointer in the next frame image.

[0085] Specifically, when rendering the next frame, the pointer is rendered according to the second angle of the pointer in the next frame, so that the pointer points to the target button in the resulting image.

[0086] Once the pointer is determined to be pointing to the target button, how to further input the content corresponding to the target button into the input box is also a technical problem that this application needs to solve.

[0087] In an optional embodiment, the process of inputting target information corresponding to the target key specifically includes the following steps Sc1 to Sc3.

[0088] Sc1, obtain the keyboard mode of the rotary keyboard, and the information content set corresponding to the target key in the keyboard mode.

[0089] Optionally, during the activation phase of the rotary keyboard, the keyboard mode can be set to one of several default keyboard modes. Alternatively, the keyboard mode can be adjusted by triggering a preset button on the detection device or AR device. Each keyboard mode is represented by a preset identifier.

[0090] Optionally, the identification information of the current keyboard mode of the rotary keyboard can be obtained to determine the keyboard mode of the rotary keyboard.

[0091] Sc2, determine the target information from the information content set according to the determination operation.

[0092] Optionally, the confirmation operation may specifically include: a confirmation operation input by triggering a preset button on the detection device or AR device; or a confirmation operation input by detecting a preset gesture on the detection device or AR device.

[0093] For example, if the current keyboard mode is numeric, when the pointer points to key 9, the target text is "9". If the current keyboard mode is alphabetic, when the pointer points to key 9, an information content set is obtained, which includes "w", "x", "y", and "z". The target information can be selected by the length of time the key is pressed, or by other methods from the information content set. It should be noted that related technologies can be consulted regarding keyboard modes and the selection method of target information, but for the sake of simplicity, they will not be elaborated here.

[0094] Sc3, input the target information into the input box.

[0095] This completes the operation of inputting target information using the rotary keyboard.

[0096] The information input method provided in this application is applicable to scenarios in AR devices where information input is possible, such as phone calls, casual chats, music playback, and image display. To better understand the effects of the solution shown in this application, an example is also provided, which involves... Figure 2b and Figure 2c .

[0097] In this example, the chosen scenario is making a phone call. Entering the phone number is a crucial step in this scenario. Therefore, this example will demonstrate the phone number input method using a rotary keypad.

[0098] In this example, the user is wearing AR glasses and a smart detection bracelet.

[0099] In this example, the phone number used for the call is 18955555555.

[0100] like Figure 2b As shown, the user's hand begins to rotate, causing the smart detection bracelet to rotate. The angle of the pointer corresponding to the smart detection bracelet is... Figure 2b The angle corresponding to button 1. When the AR glasses render the next frame of the display interface, they perform rendering processing based on the angle corresponding to button 1 to obtain the next frame image. In the next frame image, the pointer points to button 1. After the user makes a certain gesture and it is captured by the AR glasses, the number "1" corresponding to button 1 is entered into the input box; it displays the effect of "1" on the AR glasses' display interface.

[0101] Next, just like you entered the number "1", enter the numbers "8", "9", and "5" in sequence.

[0102] like Figure 2c As shown, the angle of the smart detection bracelet when the pointer points to button 1 is different from the angle of the smart detection bracelet when it points to button 5.

[0103] After entering the last digit "5", you can start making a phone call.

[0104] Figure 3 An information input device 300 is shown, applied to an AR device equipped with a rotary keyboard; wherein the AR device is connected to a detection device, the movement of which is controlled by a target control object; the device 300 includes:

[0105] The transceiver module 310 is used to receive the first motion vector detected by the detection device when the rotary keyboard is in an active state; a pointer is set at the center of the rotary keyboard, and all the keys are arranged in a circle around the pointer; the first motion vector describes the angular change when the detection device rotates.

[0106] The first determining module 320 is used to determine the target button pointed to by the pointer based on the first motion vector.

[0107] The second determining module 330 is used to respond to the determining operation by inputting target information corresponding to the target button.

[0108] Optionally, before the rotary keyboard is activated, the following may also be included:

[0109] The transmit / receive operation 310 is also used to receive a second motion vector detected by the detection device in response to a trigger operation on the input box; the second motion vector is an acceleration describing the movement of the detection device.

[0110] The first determining module 320 is further configured to determine the initial first angle of the detection device based on the second motion vector; determine the second angle of the pointer in the initial frame image based on the initial first angle; the initial frame image is the first frame image displayed when the rotary keyboard is in an active state.

[0111] Optionally, the first determining module 320, in determining the initial first angle of the detection device based on the second motion vector, is specifically used for:

[0112] Based on the coordinates of the second motion vector on the first and second coordinate axes respectively, the azimuth angle is determined; based on the azimuth angle, the initial first angle of the detection device is determined.

[0113] Optionally, the detection equipment includes infrared positioning or geomagnetic detection functions; before the rotary keyboard is activated, the transceiver module 310 is also used for:

[0114] In response to a trigger operation on the input box, the device receives the initial first angle detected by the detection device based on infrared positioning or geomagnetic detection.

[0115] Optionally, the first determining module 320, in determining the target button pointed to by the pointer based on the first motion vector, is specifically used for:

[0116] The second angle of the pointer in the next frame is determined based on the first motion vector; the target button that the pointer is pointing to in the next frame is determined based on the second angle of the pointer in the next frame.

[0117] Optionally, the first determining module 320, in determining the second angle of the pointer in the next frame image based on the first motion vector, is specifically used for:

[0118] Obtain the motion value of the first motion vector on the third coordinate axis; sum the product of the motion value and a preset multiple with the second angle of the pointer in the current frame image, and use the second angle of the pointer in the next frame image; wherein, the sum of the motion value and the first angle of the detection device in the display cycle of the current frame image is the first angle of the detection device in the display cycle of the next frame image.

[0119] Optionally, the second determining module 330, in inputting the target information corresponding to the target button, is specifically used for:

[0120] Obtain the keyboard mode of the rotary keyboard and the information content set corresponding to the target key in the keyboard mode; determine the target information from the information content set according to the determination operation; and input the target information into the input box.

[0121] Optionally, the determination operation includes any of the following:

[0122] A confirmation operation is entered by triggering a preset button on a detection device or AR device; or a confirmation operation is entered by detecting a preset gesture on a detection device or AR device.

[0123] The apparatus in this application embodiment can execute the method provided in this application embodiment, and the implementation principle is similar. The actions performed by each module in the apparatus of each embodiment of this application correspond to the steps in the method of each embodiment of this application. For detailed functional descriptions of each module of the apparatus, please refer to the descriptions in the corresponding methods shown above, which will not be repeated here.

[0124] This application provides an electronic device including a memory, a processor, and a computer program stored in the memory. The processor executes the computer program to implement the steps of an information input method. Compared with related technologies, this method not only achieves higher input efficiency but also allows users to input information in any comfortable posture.

[0125] In one alternative embodiment, an electronic device is provided, such as Figure 4 As shown, Figure 4 The illustrated electronic device 4000 includes a processor 4001 and a memory 4003. The processor 4001 and the memory 4003 are connected, for example, via a bus 4002. Optionally, the electronic device 4000 may further include a transceiver 4004, which can be used for data interaction between the electronic device and other electronic devices, such as sending and / or receiving data. It should be noted that in practical applications, the transceiver 4004 is not limited to one type, and the structure of the electronic device 4000 does not constitute a limitation on the embodiments of this application.

[0126] Processor 4001 may be a CPU (Central Processing Unit), a general-purpose processor, a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It can implement or execute the various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this application. Processor 4001 may also be a combination that implements computational functions, such as including one or more microprocessor combinations, a combination of a DSP and a microprocessor, etc.

[0127] Bus 4002 may include a pathway for transmitting information between the aforementioned components. Bus 4002 may be a PCI (Peripheral Component Interconnect) bus or an EISA (Extended Industry Standard Architecture) bus, etc. Bus 4002 can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 4 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.

[0128] The memory 4003 may be ROM (Read Only Memory) or other types of static storage devices capable of storing static information and instructions, RAM (Random Access Memory) or other types of dynamic storage devices capable of storing information and instructions, or EEPROM (Electrically Erasable Programmable Read Only Memory), CD-ROM (Compact Disc Read Only Memory) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital universal optical discs, Blu-ray discs, etc.), magnetic disk storage media, other magnetic storage devices, or any other medium capable of carrying or storing computer programs and capable of being read by a computer, without limitation herein.

[0129] The memory 4003 stores computer programs that execute embodiments of this application, and its execution is controlled by the processor 4001. The processor 4001 executes the computer programs stored in the memory 4003 to implement the steps shown in the foregoing method embodiments.

[0130] Among them, electronic devices include, but are not limited to: head-mounted AR helmets, or monocular / dual-eye / headband AR glasses.

[0131] This application provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, it can implement the steps and corresponding content of the aforementioned method embodiments.

[0132] This application also provides a computer program product, including a computer program that, when executed by a processor, can implement the steps and corresponding content of the aforementioned method embodiments.

[0133] The terms "first," "second," "third," "fourth," "1," "2," etc. (if present) in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in a sequence other than that shown in the figures or text.

[0134] It should be understood that although arrows indicate various operation steps in the flowcharts of this application's embodiments, the order in which these steps are implemented is not limited to the order indicated by the arrows. Unless explicitly stated herein, in some implementation scenarios of this application's embodiments, the implementation steps in each flowchart can be executed in other orders as required. Furthermore, some or all steps in each flowchart, based on the actual implementation scenario, may include multiple sub-steps or multiple stages. Some or all of these sub-steps or stages can be executed at the same time, and each sub-step or stage can also be executed at different times. In scenarios where execution times differ, the execution order of these sub-steps or stages can be flexibly configured according to requirements, and this application's embodiments do not limit this.

[0135] The above description is only an optional implementation method for some implementation scenarios of this application. It should be noted that for those skilled in the art, other similar implementation methods based on the technical concept of this application without departing from the technical concept of this application also fall within the protection scope of the embodiments of this application.

Claims

1. An information input method, characterized in that, An AR device equipped with a rotary keyboard is used; wherein the AR device is connected to a detection device, and the movement of the detection device is controlled by a target control object; the method includes: If the rotary keyboard is active, it receives a first motion vector detected by the detection device; a pointer is located at the center of the rotary keyboard, and all keys are arranged in a circle around the pointer with equal spacing between each key; the first motion vector describes the angular change when the detection device rotates; the rotary keyboard has multiple keyboard modes, including English mode and numeric mode, and for both English and numeric modes, the keys on the rotary keyboard simultaneously display information for both modes; the detection device or AR device has preset buttons to adjust the keyboard mode of the rotary keyboard; The target button pointed to by the pointer is determined based on the first motion vector and the linkage factor; In response to the confirmation operation, target information corresponding to the target button is input; The process of determining the target button pointed to by the pointer based on the first motion vector and the linkage factor includes: Obtain the motion value of the first motion vector on the third coordinate axis; the first motion vector describes the angular change when the detection device rotates, and the motion value is the angle between the third coordinate axis and the plane formed by the first coordinate axis and the second coordinate axis; during rotation, the third coordinate axis rotates around the first coordinate axis, the third coordinate axis remains perpendicular to the first coordinate axis, and forms the angle with the second coordinate axis; The sum of the product of the motion value and the linkage factor and the second angle of the pointer in the current frame image is taken as the second angle of the pointer in the next frame image; The target button that the pointer points to in the next frame image is determined based on the second angle of the pointer in the next frame image; The sum of the motion value and the first angle of the detection device in the display cycle of the current frame image is the first angle of the detection device in the display cycle of the next frame image; before the rotary keyboard is in an active state, the method includes: In response to a trigger operation on the input box, the device receives a second motion vector detected by the detection device; the second motion vector is an acceleration describing the movement of the detection device. The initial first angle of the detection device is determined based on the second motion vector; The sum of the initial first angle and the preset deviation angle is taken as the second angle of the pointer in the initial frame image; the initial frame image is the first frame image displayed when the rotary keyboard is in the active state.

2. The method according to claim 1, characterized in that, Determining the initial first angle of the detection device based on the second motion vector includes: The azimuth angle is determined based on the coordinates of the second motion vector on the first and second coordinate axes, respectively. The initial first angle of the detection device is determined based on the azimuth angle.

3. The method according to claim 1, characterized in that, The detection device includes an infrared positioning function; before the rotary keyboard is activated, it also includes: In response to a trigger operation on the input box, the initial first angle detected by the detection device based on the infrared positioning function is received.

4. The method according to claim 1, characterized in that, The input target information corresponding to the target key includes: Obtain the keyboard mode of the rotary keyboard, and the information content set corresponding to the target key in the keyboard mode; The target information is determined from the information content set according to the determination operation; Enter the target information into the input box.

5. The method according to claim 4, characterized in that, The determining operation includes any one of the following: A confirmation operation is input by triggering a preset button on the detection device or the AR device; A confirmation operation is input by detecting a preset gesture through the detection device or the AR device.

6. An information input device, characterized in that, An AR device equipped with a rotary keyboard is used; wherein the AR device is connected to a detection device, the movement of which is controlled by a target object; the device includes: The transceiver module is used to receive a first motion vector detected by the detection device when the rotary keyboard is in an active state. A pointer is located at the center of the rotary keyboard, and all keys are arranged in a circle around the pointer with equal spacing between each key. The first motion vector describes the angular change when the detection device rotates. The rotary keyboard has multiple keyboard modes, including English and numeric modes. For both English and numeric modes, the keys on the rotary keyboard simultaneously display information for both modes. The detection device or AR device has preset buttons to adjust the keyboard mode of the rotary keyboard. The first determining module is used to determine the target button pointed to by the pointer based on the first motion vector and the linkage factor; The second determining module is used to respond to the determining operation by inputting target information corresponding to the target button; The first determining module determines the target button pointed to by the pointer based on the first motion vector and the linkage factor, including: Obtain the motion value of the first motion vector on the third coordinate axis; the first motion vector describes the angular change when the detection device rotates, and the motion value is the angle between the third coordinate axis and the plane formed by the first coordinate axis and the second coordinate axis; during rotation, the third coordinate axis rotates around the first coordinate axis, the third coordinate axis remains perpendicular to the first coordinate axis, and forms the angle with the second coordinate axis; The sum of the product of the motion value and the linkage factor and the second angle of the pointer in the current frame image is taken as the second angle of the pointer in the next frame image; The target button that the pointer points to in the next frame image is determined based on the second angle of the pointer in the next frame image; The sum of the motion value and the first angle of the detection device in the display cycle of the current frame image is the first angle of the detection device in the display cycle of the next frame image; Before the rotary keyboard is activated, the transceiver module is also used for: In response to a trigger operation on the input box, the device receives a second motion vector detected by the detection device; the second motion vector is an acceleration describing the movement of the detection device. The first determining module is further configured to: The initial first angle of the detection device is determined based on the second motion vector; The sum of the initial first angle and the preset deviation angle is taken as the second angle of the pointer in the initial frame image; the initial frame image is the first frame image displayed when the rotary keyboard is in the active state.

7. An electronic device comprising a memory, a processor, and a computer program stored in the memory, characterized in that, The processor executes the computer program to implement the steps of the method according to any one of claims 1-5.

8. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1-5.

9. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1-5.

Citation Information

Patent Citations

  • Angle value based keyboard / mouse information transmission display method and angle value based keyboard / mouse information transmission display device

    CN103197772A

  • Display system

    CN108376029A

  • Systems, methods, and interfaces for performing inputs based on neuromuscular control

    CN114341779A