TWI475481B - Keyboard interpretation method and related device for an operating system - Google Patents

Keyboard interpretation method and related device for an operating system Download PDF

Info

Publication number
TWI475481B
TWI475481B TW097146315A TW97146315A TWI475481B TW I475481 B TWI475481 B TW I475481B TW 097146315 A TW097146315 A TW 097146315A TW 97146315 A TW97146315 A TW 97146315A TW I475481 B TWI475481 B TW I475481B
Authority
TW
Taiwan
Prior art keywords
keyboard
translation
operating system
computer program
program product
Prior art date
Application number
TW097146315A
Other languages
Chinese (zh)
Other versions
TW201020916A (en
Inventor
Ting Chih Hsiao
Original Assignee
Wistron Corp
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 Wistron Corp filed Critical Wistron Corp
Priority to TW097146315A priority Critical patent/TWI475481B/en
Publication of TW201020916A publication Critical patent/TW201020916A/en
Application granted granted Critical
Publication of TWI475481B publication Critical patent/TWI475481B/en

Links

Landscapes

  • Input From Keyboards Or The Like (AREA)

Description

用於一作業系統之鍵盤轉譯方法及其相關裝置Keyboard translation method for an operating system and related device

本發明係指一種用於一作業系統之鍵盤轉譯方法及其相關裝置,尤指一種用於一符合用戶端對伺服器架構之作業系統中,可針對不同應用程式提供對應的上層轉譯表,並對同一鍵盤提供下層轉譯表,進而使得鍵盤可產生不同的鍵值之鍵盤轉譯方法及其相關裝置。The present invention relates to a keyboard translation method for an operating system and related devices thereof, and more particularly to an upper layer translation table for a different application application in an operating system conforming to a client-to-server architecture, and A lower-level translation table is provided for the same keyboard, thereby enabling the keyboard to generate keyboard translation methods with different key values and related devices.

在現有電腦系統中,鍵盤是最常見的文字或符號輸入介面。一般而言,鍵盤係由多個按鍵所組成,每一按鍵對應的鍵值已經被定義,無法由消費者自行定義。特別是在泛UNIX作業系統下的視窗環境,由於採用client-server(用戶對伺服器)的架構,習知技術未揭露如何修改按鍵鍵值。In existing computer systems, the keyboard is the most common text or symbol input interface. Generally speaking, the keyboard is composed of a plurality of buttons, and the key value corresponding to each button has been defined and cannot be defined by the consumer. Especially in the Windows environment under the pan-UNIX operating system, the conventional technology does not disclose how to modify the key value due to the client-server architecture.

在泛UNIX作業系統下使用最廣的視窗環境為「X Window」(也常稱做X11或X),除了提供良好的使用者介面,具有極佳的網路通透性及高度的可攜性之外,其獨有的client-sever架構更使得X Window在資源管理及使用上的效率及彈性大大的凌駕其他視窗系統之上。以下就其架構做一簡述。The most widely used Windows environment under the UNIX operating system is "X Window" (also often referred to as X11 or X). In addition to providing a good user interface, it has excellent network permeability and high portability. In addition, its unique client-sever architecture makes X Window more efficient and flexible in resource management and usage than other Windows systems. The following is a brief description of its architecture.

請參考第1圖,第1圖為習知一X Windows系統之架構模型圖。由第1圖可知,X Windows系統係由一個X Server與多個X Client應用程式進行通訊。X Server負責管理顯示的底層硬體配備和處理由底層硬體發出的事件,並將這些事件告知X Client,而X Client則負責解析由X Server傳送過來的事件,並回傳相應的行為給X Server,通知X Server該做什麼事情。其中,X client是針對X server而言所命名的,亦即只要不是X server的應用程式都屬於X client應用程式,因此,X Windows系統的輸入法程式(XIM server,詳述於後)以及一般應用程式在此都視為X client。Please refer to Figure 1, which is a schematic diagram of the architecture of a conventional X Windows system. As can be seen from Figure 1, the X Windows system communicates with multiple X Client applications by an X Server. The X Server is responsible for managing the underlying hardware of the display and handling the events emitted by the underlying hardware and notifying the X Client of these events, while the X Client is responsible for parsing the events sent by the X Server and returning the corresponding behavior to X. Server, tell X Server what to do. Among them, the X client is named for the X server, that is, as long as the application other than the X server belongs to the X client application, the X Windows system input method (XIM server, detailed later) and general The application is considered here as an X client.

接著說明XIM server。世界上大多數語言是基於字母表而來,以一些字母的集合組成了單詞,例如英文,而在作業系統上使用這類語言時,使用者只要在鍵盤上鍵入相應的字母即可達成,但表意文字(例如中、日、韓等)卻無法在鍵盤上找到相應的鍵,因此,想輸入這些文字就必需要有相應的輸入法程式。Next, explain the XIM server. Most of the world's languages are based on the alphabet. Words are composed of a collection of letters, such as English. When using this language on the operating system, the user can simply type the corresponding letter on the keyboard. Ideographic texts (such as Chinese, Japanese, Korean, etc.) cannot find the corresponding keys on the keyboard. Therefore, if you want to input these words, you must have the corresponding input method.

XIM全名為X Input Method,是X Window系統下符合國際化標準的輸入法協定,只要應用程式和系統都支援此輸入法協定,應用程式就可以解決在不同語言環境下的輸入問題。使用XIM協定來與應用程式溝通的輸入法程式,稱為XIM server,而應用程式則稱為XIM client,它們之間的關係就類似一般的伺服器與客戶端的關係一樣,輸入法程式等待客戶端的需求,以隨時提供文字輸入的服務。The full name of XIM is X Input Method, which is an input method agreement under the X Window System that conforms to the international standard. As long as the application and system support this input method agreement, the application can solve the input problem in different language environments. The input method program that uses the XIM protocol to communicate with the application is called the XIM server, and the application is called the XIM client. The relationship between them is similar to the relationship between the general server and the client. The input method program waits for the client. Demand, to provide text input services at any time.

以第2圖為例,在一X Server(即一個X Window的桌面環境)中,可以同時執行多個不同的XIM server,分別以其在X Server中的locale名稱以及其XIM server本身的名稱來加以示別。其中,locale為一組地區性語言的相關資訊,由國家語言和各地習俗影響所決定的慣例,或代表一個地理區域的定義所組成,這些慣例包含文字、日期、數字、貨幣格式和排序等等,可以讓程式的輸出直接反應地方區域性的文化。不僅如此,在相同的locale下也可以同時執行多個XIM server,只要它們各自註冊在X Server中的標記名稱不同即可,而同一個XIM server也可以在X Server中同時註冊多個locale名稱,同時為不同的locale下的XIM client提供服務。而XIM client可以藉由locale與一系統環境變數XMODIFIERS的XIM server名稱設定來指定要與哪一個XIM server進行連線。例如,XIM server 1註冊的locale為locale A,XIM server 2與XIM server 3註冊的locale為locale B,而XIM server 4則同時註冊了locale C、locale D、locale E。Taking Figure 2 as an example, in an X Server (that is, an X Window desktop environment), multiple different XIM servers can be executed simultaneously, with their locale name in X Server and the name of their XIM server itself. Show it. Where locale is information about a group of regional languages, a convention determined by national language and local customs, or a definition of a geographic area that includes text, date, number, currency format, and ordering, etc. It allows the output of the program to directly reflect the local culture of the place. Not only that, but multiple XIM servers can be executed simultaneously under the same locale, as long as they have different tag names registered in X Server, and the same XIM server can also register multiple locale names in X Server at the same time. At the same time, it provides services for XIM clients under different locales. The XIM client can specify which XIM server to connect to by the locale and the XIM server name setting of a system environment variable XMODIFIERS. For example, the locale registered by XIM server 1 is locale A, the locale registered by XIM server 2 and XIM server 3 is locale B, and XIM server 4 is also registered with locale C, locale D, and locale E.

關於XIM協定的運作方式,請繼續參考第3圖。在XIM協定中,從使用者輸入字鍵,經由XIM server處理後,最後在XIM client出現使用者所希望輸入的文字,其完整流程可歸納為第3圖中的五個步驟,分別標示為(1)~(5),說明如下。Please refer to Figure 3 for how the XIM Agreement works. In the XIM protocol, after the user enters the word key, the XIM server processes it, and finally the text that the user wants to input appears in the XIM client. The complete process can be summarized into the five steps in Figure 3, which are respectively marked as ( 1) to (5) are explained below.

首先,使用者在鍵盤上敲入的按鍵,經由步驟(1)由X Server接收到之後,由步驟(2)直接傳給目前為前景視窗的XIM client。當XIM client接到了鍵盤輸入的事件後,它會先將這個事件經由步驟(3),傳回給X Server,以判斷目前是否有可以連線的XIM server正在運作中,以及該事件是否為XIM server感興趣的事件。如果是,則X Server會將這個事件經由步驟(4)傳給XIM server處理,並經由步驟(5)透過X Server告知XIM client該事件已經被XIM server處理掉了,XIM client 不需要再處理該事件。通常只要XIM server與client之間保持著連線狀態,任何鍵盤字鍵被敲入的事件都會經由上述的途徑傳到XIM server,被後被XIM server處理完成。如果XIM server在接到一個完整的字鍵序列並完成組字工作,要將這個字傳回XIM client時,它會另外產生一個新的事件訊號,經由X Server傳送給XIM client,如此便可完成整個文字輸入的動作。First, the button that the user taps on the keyboard is received by the X Server via step (1), and then directly transmitted to the XIM client currently being the foreground window by step (2). When the XIM client receives the keyboard input event, it will first pass the event back to the X Server via step (3) to determine whether there is a XIM server that is currently connected and whether the event is XIM. The event of interest to the server. If yes, X Server will pass the event to the XIM server via step (4), and tell the XIM client that the event has been processed by the XIM server through the X server via step (5). The XIM client does not need to process the event. event. Usually, as long as the XIM server and the client are connected, the event that any keyboard key is typed will be transmitted to the XIM server through the above method, and then processed by the XIM server. If the XIM server receives a complete sequence of word keys and completes the group word work, when it is passed back to the XIM client, it will generate a new event signal, which is transmitted to the XIM client via the X Server. The action of the entire text input.

由上可知,在XIM協定下,X Window係以client-sever架構完成文字輸入的動作,然而如何修改鍵盤中各按鍵的對應鍵值則未揭露於習知技術中。It can be seen from the above that under the XIM agreement, the X Window performs the character input operation in the client-sever architecture. However, how to modify the corresponding key values of the keys in the keyboard is not disclosed in the prior art.

因此,本發明之主要目的即在於提供一種用於一作業系統之鍵盤轉譯方法及其相關裝置。Accordingly, it is a primary object of the present invention to provide a keyboard translation method for an operating system and related apparatus.

本發明揭露一種用於一作業系統之鍵盤轉譯方法,該作業系統係符合一用戶端對伺服器架構,該鍵盤轉譯方法包含有產生對應於該作業系統中複數個應用程式之複數個上層轉譯表;以及於該複數個應用程式之一應用程式啟動時,根據一對應之上層轉譯表,轉換一鍵盤中複數個按鍵所代表之鍵值,並將轉換結果傳送至該應用程式。The present invention discloses a keyboard translation method for an operating system, the operating system conforms to a client-to-server architecture, and the keyboard translation method includes generating a plurality of upper-level translation tables corresponding to a plurality of applications in the operating system. And when one of the plurality of applications starts, the key value represented by the plurality of keys in a keyboard is converted according to a corresponding upper layer translation table, and the conversion result is transmitted to the application.

本發明另揭露一種用於一作業系統之鍵盤轉譯軟體,該作業系統係符合一用戶端對伺服器架構,該鍵盤轉譯軟體包含有一產生單元,用來產生對應於該作業系統中複數個應用程式之複數個上層轉譯表;以及一轉譯單元,用來於該複數個應用程式之一應用程式啟動時,根據一對應之上層轉譯表,轉換一鍵盤中複數個按鍵所代表之鍵值,並將轉換結果傳送至該應用程式。The invention further discloses a keyboard translation software for an operating system, the operating system conforms to a client-to-server architecture, and the keyboard translation software comprises a generating unit for generating a plurality of applications corresponding to the operating system. a plurality of upper translation tables; and a translation unit configured to convert a key represented by a plurality of keys in a keyboard according to a corresponding upper layer translation table when the application is started by the plurality of applications, and The conversion result is passed to the application.

本發明另揭露一種用於一作業系統之鍵盤轉譯方法,該作業系統係符合一用戶端對伺服器架構,該鍵盤轉譯方法包含有產生對應於一鍵盤之一下層轉譯表;以及根據該下層轉譯表,轉換該鍵盤中複數個按鍵所代表之鍵值。The present invention further discloses a keyboard translation method for an operating system, the operating system conforming to a client-to-server architecture, the keyboard translation method includes generating a lower layer translation table corresponding to a keyboard; and translating according to the lower layer A table that converts the key values represented by a plurality of keys in the keyboard.

本發明另揭露一種用於一作業系統之鍵盤轉譯軟體,該作業系統係符合一用戶端對伺服器架構,該鍵盤轉譯軟體包含有一產生單元,用來產生對應於一鍵盤之一下層轉譯表;以及一轉譯單元,用來根據該下層轉譯表,轉換該鍵盤中複數個按鍵所代表之鍵值。The present invention further discloses a keyboard translation software for an operating system, the operating system conforms to a client-to-server architecture, and the keyboard translation software includes a generating unit for generating a lower-level translation table corresponding to a keyboard; And a translation unit for converting the key value represented by the plurality of keys in the keyboard according to the lower translation table.

本發明另揭露一種用於一作業系統之鍵盤轉譯軟體,該作業系統係符合一用戶端對伺服器架構,該鍵盤轉譯軟體包含有一第一產生單元,用來產生對應於該作業系統中複數個應用程式之複數個上層轉譯表;一第二產生單元,用來產生對應於一鍵盤之一下層轉譯表;一下層轉譯單元,用來根據該下層轉譯表,轉換該鍵盤中複數個按鍵所代表之鍵值,以產生一第一轉換結果;以及一上層轉譯單元,用來於該複數個應用程式之一應用程式啟動時,根據一對應之上層轉譯表,轉換該第一轉換結果,以產生一第二轉換結果,並將第二轉換結果傳送至該應用程式。The invention further discloses a keyboard translation software for an operating system, the operating system conforming to a client-to-server architecture, the keyboard translation software comprising a first generating unit for generating a plurality of corresponding to the operating system a plurality of upper-level translation tables of the application; a second generation unit for generating a lower-level translation table corresponding to a keyboard; and a lower-level translation unit for converting a plurality of keys represented by the keyboard according to the lower-level translation table a key value to generate a first conversion result; and an upper layer translation unit configured to convert the first conversion result according to a corresponding upper layer translation table when the application is started by the plurality of applications to generate a second conversion result and transmitting the second conversion result to the application.

本發明係以XIM協定為基礎,在架構上就像是一個XIM server,只不過提供的功能不是輸入法,而是鍵盤鍵值的轉譯服務。轉譯服務有二種,一種是上層應用程式的轉譯服務,另一種是下層驅動程式的轉譯服務,以下以第4圖至第8圖做說明。The invention is based on the XIM protocol and is like an XIM server in architecture, but the function provided is not the input method, but the translation service of the keyboard key value. There are two kinds of translation services, one is the translation service of the upper application, and the other is the translation service of the lower driver. The following is illustrated in Figure 4 to Figure 8.

請參考第4圖,第4圖為本發明實施例一鍵盤轉譯流程40之示意圖。鍵盤轉譯流程40用於一用戶端對伺服器架構之作業系統(如X Window),其包含以下步驟:Please refer to FIG. 4, which is a schematic diagram of a keyboard translation process 40 according to an embodiment of the present invention. The keyboard translation process 40 is used for a client-to-server architecture operating system (such as X Window), which includes the following steps:

步驟400:開始。Step 400: Start.

步驟402:產生對應於該作業系統中複數個應用程式之複數個上層轉譯表。Step 402: Generate a plurality of upper translation tables corresponding to a plurality of applications in the operating system.

步驟404:於該複數個應用程式之一應用程式啟動時,根據一對應之上層轉譯表,轉換一鍵盤中複數個按鍵所代表之鍵值,並將轉換結果傳送至該應用程式。Step 404: When one of the plurality of applications starts, the key value represented by the plurality of keys in a keyboard is converted according to a corresponding upper layer translation table, and the conversion result is transmitted to the application.

步驟406:結束。Step 406: End.

根據鍵盤轉譯流程40,本發明係產生對應於不同應用程式之上層轉譯表,當啟動任一應用程式時,根據對應的上層轉譯表,轉換鍵盤中特定按鍵所代表之鍵值,並將轉換結果傳送至該應用程式。換句話說,每一個應用程式都可以有一對應之上層轉譯表,其註明了當使用者按了什麼鍵,需要轉譯成什麼鍵值。在此情形下,當使用者啟動應用程式時,本發明可根據預設的上層轉譯表,將使用者所按的鍵轉譯成適當的鍵值。According to the keyboard translation process 40, the present invention generates an upper layer translation table corresponding to different applications. When any application is started, the key value represented by a specific button in the keyboard is converted according to the corresponding upper layer translation table, and the conversion result is converted. Transfer to the app. In other words, each application can have a corresponding upper-level translation table that indicates what key values need to be translated when the user presses a key. In this case, when the user launches the application, the present invention can translate the key pressed by the user into an appropriate key value according to the preset upper translation table.

關於上層轉譯表的產生方式,較佳地係由使用者自行設定,且上層轉譯表可以任何形式儲存在所指定的位置上,其格式亦不限於特定種類(如txt檔等)。另外,在鍵盤轉譯流程40中,並不是每一個鍵值都必須被轉換,上層轉譯表可僅針對使用者感興趣的鍵值,因此無須對鍵盤做全面性的轉換。例如,當使用者想要設定特定應用程式的上層轉譯表時,本發明首先發出提示「請輸入欲轉換的鍵:」,此時使用者可以按下欲轉換的鍵;接著再發出提示「請輸入轉換過的鍵為:」,此時使用者可以按下想要轉換成的鍵。而當使用者一一設定完成之後,那些使用者沒設定的鍵值就會被預設轉換成原始的鍵值。以第5圖為例,使用者設定了按鍵a之鍵值為1,按鍵b之鍵值為2,按鍵c之鍵值為3,按鍵d之鍵值為4,其餘則不設定,則上層轉譯表就如圖所示。在此情形下,當啟動應用程式後,若使用者按下按鍵a,則應用程式所收到的鍵值則為1,並以此類推。The manner in which the upper translation table is generated is preferably set by the user, and the upper translation table can be stored in the specified location in any form, and the format thereof is not limited to a specific category (such as a txt file, etc.). In addition, in the keyboard translation process 40, not every key value has to be converted, and the upper translation table can only be used for the key value that the user is interested in, so there is no need to comprehensively convert the keyboard. For example, when the user wants to set an upper translation table of a specific application, the present invention first issues a prompt "Please input the key to be converted:", at which time the user can press the key to be converted; then the prompt "Please Enter the converted key as: ", at this point the user can press the key you want to convert. When the user sets one by one, the key values that are not set by the user are converted into the original key values by default. Taking Figure 5 as an example, the user sets the key value of button a to 1, the key value of button b is 2, the key value of button c is 3, the key value of button d is 4, and the rest is not set, then the upper layer The translation table is as shown. In this case, when the application is launched, if the user presses the button a, the application receives a key value of 1, and so on.

因此,透過鍵盤轉譯流程40,每一個應用程式都可以有一對應之上層轉譯表,其註明了當使用者按了什麼鍵,需要轉譯成什麼鍵值。關於鍵盤轉譯流程40的實現方式,本領域具通常知識者當可據以透過一鍵盤轉譯軟體實現,其包含一產生單元及一轉譯單元,分別用以執行步驟402及404。此種實現方式係本領域具通常知識者所熟知,故在此不贅述,而將於後以一整合式實施例做說明。Therefore, through the keyboard translation process 40, each application can have a corresponding upper layer translation table that indicates what key values need to be translated when the user presses a key. The implementation of the keyboard translation process 40 can be implemented by a person skilled in the art through a keyboard translation software, which includes a generating unit and a translation unit for performing steps 402 and 404, respectively. Such implementations are well known to those of ordinary skill in the art and will not be described herein, but will be described later in an integrated embodiment.

接著,請參考第6圖,第6圖為本發明實施例一鍵盤轉譯流程60之示意圖。鍵盤轉譯流程60用於一用戶端對伺服器架構之作業系統(如X Window),其包含以下步驟:Next, please refer to FIG. 6. FIG. 6 is a schematic diagram of a keyboard translation process 60 according to an embodiment of the present invention. The keyboard translation process 60 is used for a client-to-server architecture operating system (such as X Window), which includes the following steps:

步驟600:開始。Step 600: Start.

步驟602:產生對應於一鍵盤之一下層轉譯表。Step 602: Generate a lower layer translation table corresponding to one of the keyboards.

步驟604:根據該下層轉譯表,轉換該鍵盤中複數個按鍵訊號所代表之鍵值。Step 604: Convert the key value represented by the plurality of button signals in the keyboard according to the lower layer translation table.

步驟606:結束。Step 606: End.

根據鍵盤轉譯流程60,本發明係產生對應於鍵盤之下層轉譯表,並據以轉換鍵盤中特定按鍵所代表之鍵值。換句話說,鍵盤中特定按鍵所代表之鍵值會被轉譯成預設的鍵值。一般而言,鍵盤轉譯流程60的使用情形是鍵盤換上了新的標籤並配置至新的系統,但對應新標籤的鍵盤驅動程式尚未完成而只能暫時延用舊的鍵盤驅動程式,亦即舊的鍵盤驅動程式無法反應新標籤的值;例如:新標籤的鍵值為A,但舊驅動程式可能回傳給上層的是鍵值F。此時,鍵盤轉譯流程60提供了下層轉譯服務,將舊驅動程式回傳上來的鍵值轉譯成新標籤上的鍵值。According to the keyboard translation process 60, the present invention generates a translation table corresponding to the underlying keyboard and converts the key values represented by the particular keys in the keyboard. In other words, the key value represented by a particular button in the keyboard is translated into a preset key value. In general, the use of the keyboard translation process 60 is that the keyboard is replaced with a new label and configured to the new system, but the keyboard driver corresponding to the new label has not been completed and can only temporarily use the old keyboard driver, that is, The old keyboard driver cannot reflect the value of the new tag; for example, the key value of the new tag is A, but the old driver may return it to the upper layer with the key value F. At this point, the keyboard translation process 60 provides a lower level translation service that translates the key values passed back by the old driver into key values on the new label.

關於下層轉譯表的產生方式,較佳地亦由使用者自行設定,且下層轉譯表可以任何形式儲存在所指定的位置上,其格式亦不限於特定種類(如txt檔等)。另外,在鍵盤轉譯流程60中,並不是每一個鍵值都必須被轉換,下層轉譯表可僅針對使用者感興趣的鍵值,因此無須對鍵盤做全面性的轉換。舉例來說,如第7圖所示,若使用者將一鍵盤之舊標籤(第7圖之左半部)置換為新標籤(第7圖之右半部),但對應新標籤的鍵盤驅動程式尚未完成而只能暫時延用舊的鍵盤驅動程式時,則使用者可透過設定下層轉譯表的方式,正常使用原始鍵盤。首先,本發明發出提示「請輸入鍵盤上「1」的鍵」,再由使用者輸入貼上新標籤的「1」鍵(即原始的「3」鍵),此時組態子系統就完成了「1」鍵的轉換,亦即由驅動程式傳上來鍵值為3時,需轉換為鍵值1,接著再由組態子系統發出提示:「請輸入鍵盤上「2」的鍵」,再由使用者輸入「2」鍵,此時組態子系統就完成了「2」鍵的轉換,亦即由驅動程式傳上來鍵值為6時,需轉換為鍵值2,並以此完成所有硬體鍵盤的轉換。以此類推,當使用者一一設定完成之後,那些使用者沒設定的鍵值就會被預設轉換成原始的鍵值,而下層轉譯表就如第8圖所示。在此情形下,當啟動應用程式後,若使用者按下原始鍵盤上的按鍵「1」,則本發明會將鍵值轉換為7。The manner in which the lower translation table is generated is preferably set by the user, and the lower translation table can be stored in the specified location in any form, and the format is not limited to a specific category (such as a txt file). In addition, in the keyboard translation process 60, not every key value has to be converted, and the lower layer translation table can only be used for the key value that the user is interested in, so there is no need to comprehensively convert the keyboard. For example, as shown in Figure 7, if the user replaces the old label of a keyboard (the left half of Figure 7) with a new one (the right half of Figure 7), but the keyboard driver corresponding to the new label When the program has not been completed and the old keyboard driver can only be temporarily used, the user can use the original keyboard by setting the lower level translation table. First, the present invention issues a prompt "Please input the "1" key on the keyboard", and then the user inputs a "1" key (ie, the original "3" key) to which the new label is attached, and the configuration subsystem is completed. The conversion of the "1" key, that is, when the key value of the driver is 3, it needs to be converted to the key value 1, and then the configuration subsystem issues a prompt: "Please input the "2" key on the keyboard", Then the user enters the "2" key, and the configuration subsystem completes the conversion of the "2" key, that is, when the key value of the driver is 6, it needs to be converted to the key value 2, and this is completed. Conversion of all hardware keyboards. By analogy, when the user is set one by one, the key values that are not set by the user are converted to the original key values by default, and the lower level translation table is as shown in FIG. In this case, when the application is launched, if the user presses the button "1" on the original keyboard, the present invention converts the key value to 7.

因此,當硬體上面的標籤改變,並且在新的驅動程式尚未完成,暫時使用舊的鍵盤驅動程式的情況下,鍵盤轉譯流程60可轉換鍵盤的鍵值,使得使用者可以舊的鍵盤驅動程式使用具有新標籤的鍵盤。關於鍵盤轉譯流程60的實現方式,本領域具通常知識者當可據以透過一鍵盤轉譯軟體實現,其包含一產生單元及一轉譯單元,分別用以執行步驟602及604。此種實現方式係本領域具通常知識者所熟知,故在此不贅述,而將於後以一整合式實施例做說明。Therefore, when the label on the hardware changes, and the new driver is not completed, and the old keyboard driver is temporarily used, the keyboard translation process 60 can convert the key value of the keyboard so that the user can use the old keyboard driver. Use a keyboard with a new label. The implementation of the keyboard translation process 60 can be implemented by a person skilled in the art through a keyboard translation software, which includes a generating unit and a translation unit for performing steps 602 and 604, respectively. Such implementations are well known to those of ordinary skill in the art and will not be described herein, but will be described later in an integrated embodiment.

第4圖之鍵盤轉譯流程40係針對不同應用程式所提供之轉譯服務,而第6圖之鍵盤轉譯流程60則是針對同一鍵盤提供轉譯服務。因此,可將鍵盤轉譯流程40及鍵盤轉譯流程60適當地結合,並一鍵盤轉譯軟體實現之。請參考第9圖,第9圖為本發明實施例一鍵盤轉譯軟體90之示意圖。鍵盤轉譯軟體90用來實現第4圖之鍵盤轉譯流程40及第6圖之鍵盤轉譯流程60,其包含有一第一產生單元900、一第二產生單元902、一下層轉譯單元904及一上層轉譯單元906。第一產生單元900用來實現步驟402,用以產生對應於不同應用程式的上層轉譯表。第二產生單元902用來實現步驟602,用以產生對應於鍵盤之一下層轉譯表。下層轉譯單元904用來實現步驟604,用以根據第二產生單元902所產生之下層轉譯表,轉換鍵盤中特定按鍵所代表之鍵值,以產生一第一轉換結果。上層轉譯單元906用來實現步驟404,用以於特定應用程式被啟動時,根據一對應之上層轉譯表,轉換下層轉譯單元904所輸出之第一轉換結果,以產生一第二轉換結果,並將第二轉換結果傳送至該應用程式。The keyboard translation process 40 of FIG. 4 is a translation service provided for different applications, and the keyboard translation process 60 of FIG. 6 provides a translation service for the same keyboard. Therefore, the keyboard translation process 40 and the keyboard translation process 60 can be combined as appropriate, and implemented by a keyboard translation software. Please refer to FIG. 9. FIG. 9 is a schematic diagram of a keyboard translation software 90 according to an embodiment of the present invention. The keyboard translation software 90 is used to implement the keyboard translation process 40 of FIG. 4 and the keyboard translation process 60 of FIG. 6, which includes a first generation unit 900, a second generation unit 902, a lower layer translation unit 904, and an upper layer translation. Unit 906. The first generating unit 900 is configured to implement step 402 for generating an upper translation table corresponding to different applications. The second generating unit 902 is configured to implement step 602 to generate a lower layer translation table corresponding to the keyboard. The lower layer translation unit 904 is configured to implement step 604 for converting a key value represented by a specific button in the keyboard according to the lower layer translation table generated by the second generation unit 902 to generate a first conversion result. The upper layer translation unit 906 is configured to implement the step 404, when the specific application is started, converting the first conversion result output by the lower layer translation unit 904 according to a corresponding upper layer translation table to generate a second conversion result, and Transfer the second conversion result to the application.

鍵盤轉譯軟體90係實現鍵盤轉譯流程40及60,其運作方式可以第10圖做說明。在第10圖中,上半部為上層轉譯表,下半部為下層轉譯表。再細分來看,如同第5圖或第8圖所示,上層轉譯表或下層轉譯表又各有上、下半部。下層轉譯表中的下半部為從驅動程式直接傳至下層轉譯單元904的值,而下層轉譯表的上半部為要轉譯的值,可由使用者自行定義,此層的轉譯即鍵盤轉譯流程60所提供之轉譯服務。上層轉譯表中的下半部是對應於下層轉譯單元904轉譯過來的鍵值(亦即,從驅動程式所收到的鍵值在經過下層轉譯單元904轉譯後,上層轉譯單元906會根據轉譯過後的值去尋找上層轉譯表的下半部與其一樣的鍵值來做轉譯),而上層轉譯表的上半部則根據每一個應用程式的不同而分別轉譯成不同的鍵值。在第10圖中,下層轉譯表是不變的,亦即驅動程式傳至下層轉譯單元904的值是什麼下層轉譯單元904就輸出什麼,沒有做轉譯的動作;而上層轉譯單元906則做了轉譯,表示當使用者按下了鍵值為1的鍵,要回傳給應用程式的鍵值為a,當使用者按下了鍵值為2的鍵,要回傳給應用程式的鍵值為b,以此類推。The keyboard translation software 90 system implements the keyboard translation process 40 and 60, and its operation mode can be illustrated in FIG. In Figure 10, the upper half is the upper translation table and the lower half is the lower translation table. Further subdivided, as shown in Figure 5 or Figure 8, the upper translation table or the lower translation table has upper and lower half. The lower half of the lower translation table is the value directly passed from the driver to the lower translation unit 904, and the upper half of the lower translation table is the value to be translated, which can be defined by the user. The translation of this layer is the keyboard translation process. 60 translation services provided. The lower half of the upper translation table corresponds to the key value translated by the lower layer translation unit 904 (that is, the key value received from the driver is translated by the lower layer translation unit 904, and the upper layer translation unit 906 is based on the translation. The value is to find the lower half of the upper translation table and the same key value for translation, and the upper half of the upper translation table is translated into different key values according to each application. In Fig. 10, the lower translation table is invariant, that is, the value transmitted by the driver to the lower layer translation unit 904 is what the lower layer translation unit 904 outputs, and no translation is performed; and the upper translation unit 906 does. Translation, when the user presses the key with the key value of 1, the key value to be passed back to the application is a, when the user presses the key with the key value of 2, the key value to be passed back to the application. For b, and so on.

再以第10圖為基礎,若使用者以第7圖之方式將鍵盤之舊標籤(第7圖之左半部)置換為新標籤(第7圖之右半部)時,則鍵盤轉譯軟體90中的下層轉譯單元904就必需做轉譯,否則當使用者在新標籤的鍵盤上按下鍵值7,舊鍵盤驅動程式卻回傳鍵值1,造成錯誤的鍵值。轉譯的工作如第11圖所示,當使用者按下新標籤上的鍵值7時,實際從舊驅動程式傳回來的值為1,經過下層轉譯單元904的轉譯,就可以轉譯成對應到新標籤的鍵值7,再往上傳給上層轉譯單元906,此時上層轉譯單元906會尋找對應此應用程式的上層轉譯表,並從中尋找在上層轉譯表的下半部中與其鍵值相同的那一個,找到之後做相對應的轉換,於是將鍵值7轉換為鍵值g,再回傳此鍵值g給應用程式,完成轉譯工作。於是,當以第7圖之方式置換標籤後,原本(以第10圖之方式)按下鍵值7會回傳鍵值g的行為,會(以第11圖之方式)修改為按下鍵值7仍舊回傳鍵值g。Based on Fig. 10, if the user replaces the old label of the keyboard (the left half of Fig. 7) with the new label (the right half of Fig. 7) in the manner of Fig. 7, the keyboard translation software The lower translation unit 904 in 90 must be translated. Otherwise, when the user presses the key value 7 on the keyboard of the new label, the old keyboard driver returns a key value of 1, causing an incorrect key value. The translation work is as shown in Fig. 11. When the user presses the key value 7 on the new label, the value actually returned from the old driver is 1, and after the translation by the lower layer translation unit 904, it can be translated into corresponding The key value 7 of the new tag is further uploaded to the upper layer translation unit 906. At this time, the upper layer translation unit 906 searches for the upper translation table corresponding to the application, and searches for the same key value in the lower half of the upper translation table. That one, after finding the corresponding conversion, then convert the key value 7 to the key value g, and then return the key value g to the application to complete the translation work. Therefore, when the label is replaced in the manner of FIG. 7, the original (in the manner of FIG. 10) pressing the key value 7 will return the key value g, and will be modified (in the manner of FIG. 11) to be pressed. The value 7 still returns the key value g.

當然,不同的應用程式就會有不同的上層轉譯表,每一個應用程式都可以向鍵盤轉譯軟體90註冊一上層轉譯表,而鍵盤轉譯軟體90再根據不同的應用程式查詢不同的上層轉譯表來做轉譯的工作,如果鍵盤轉譯軟體90找不到對應的應用程式上層轉譯表,表示使用者不曾對此應用程式設定,則鍵盤轉譯軟體90會使用預設的上層轉譯表,產生按鍵的原始鍵值。而相對於不同應用程式即有不同上層轉譯表,下層轉譯表只會有一個,原因是因為輸入的鍵盤硬體只有一個,其關係即如第12圖所示。Of course, different applications will have different upper translation tables. Each application can register an upper translation table with the keyboard translation software 90, and the keyboard translation software 90 queries different upper translation tables according to different applications. To do the translation work, if the keyboard translation software 90 cannot find the corresponding application upper translation table, indicating that the user has not set the application, the keyboard translation software 90 will use the preset upper translation table to generate the original key of the key. value. Compared to different applications, there are different upper translation tables. There is only one lower translation table. The reason is that there is only one keyboard hardware input, and the relationship is as shown in Figure 12.

由前述可知,鍵盤轉譯軟體90所扮演的角色是雙重的,屬於中介的角色:對於XIM client(即一般的應用程式)而言,鍵盤轉譯軟體90是一個XIM Server,但是對於輸入法程式(XIM Server)而言,鍵盤轉譯軟體90只是一個XIM Client。As can be seen from the foregoing, the role played by the keyboard translation software 90 is twofold and belongs to the intermediary role: for the XIM client (ie, the general application), the keyboard translation software 90 is a XIM Server, but for the input method program (XIM) For Server), the keyboard translation software 90 is just a XIM Client.

由習知XIM協定原理可知,XIM client可以藉由locale與系統環境變數XMODIFIERS的XIM Server名稱設定來指定要與哪一個XIM Server進行註冊連線。因此,在系統一開機時,本發明先執行鍵盤轉譯軟體90,使其與存在XMODIFIERS系統環境變數中的輸入法程式註冊連線,註冊連線成功之後,將XMODIFIERS變數改成鍵盤轉譯軟體90的名稱,如此一來,只要是採用符合國際化標準的輸入法協定所寫成的應用程式且有向X Server註冊自己的應用程式名稱,則其與XIM Server的註冊連線均會根據XMODIFIERS中的名稱與鍵盤轉譯軟體90註冊連線,進而達成先將事件傳給鍵盤轉譯軟體90,經由鍵盤轉譯軟體90做下層轉譯服務,再針對不同的應用程式(根據註冊的應用程式名稱)做上層轉譯服務之後,再由鍵盤轉譯軟體90傳給真正的輸入法程式的目的。According to the conventional XIM protocol principle, the XIM client can specify which XIM Server to register with the locale and the XIM Server name setting of the system environment variable XMODIFIERS. Therefore, when the system is powered on, the present invention first executes the keyboard translation software 90 to register with the input method program in the XMODIFIERS system environment variable. After the registration connection is successful, the XMODIFIERS variable is changed to the keyboard translation software 90. The name, as long as it is an application written in accordance with the international standard input protocol and has its own application name registered with X Server, its registered connection with XIM Server will be based on the name in XMODIFIERS. Registered with the keyboard translation software 90, and then passed the event to the keyboard translation software 90, the lower layer translation service through the keyboard translation software 90, and then the upper layer translation service for different applications (according to the registered application name) Then, the keyboard translation software 90 is passed to the purpose of the real input method program.

相關運作方式可歸納為第13圖的七個步驟,分別標示為(1)~(7),說明如下。首先,使用者在鍵盤上敲入的按鍵,經由步驟(1)由X Server接收到之後,由步驟(2)直接傳給目前為前景視窗的XIM client。當XIM client接到了鍵盤輸入的事件後,它會先將這個事件經由步驟(3),傳回給X Server,以判斷目前是否有可以連線的XIM server正在運作中,以及該事件是否為XIM server感興趣的事件。此時,X Server可得知XIM client所註冊的鍵盤轉譯軟體90正在運作,且感興趣,於是X Server會把此事件經由步驟(4)傳給鍵盤轉譯軟體90處理。鍵盤轉譯軟體90再經由步驟(5),透過X Server告訴XIM client該事件已經被鍵盤轉譯軟體90處理完成了,XIM client不需要再處理該事件,而當鍵盤轉譯軟體90執行了轉譯的動作後,再透過步驟(6)傳回結果給X Server,以判斷目前是否有當初鍵盤轉譯軟體90所註冊的真正輸入法程式可以連線?以及該事件是否為輸入法程式感興趣的事件?如果是的話,則X Server就會將這個事件經由步驟(7)傳給輸入法程式處理。如果輸入法程式處理完成,它會另外產生一個新的事件訊號,經由X Server傳送給鍵盤轉譯軟體90,當鍵盤轉譯軟體90收到之後,再以同樣的方式產生一個新的事件訊號,經由X Server傳送給XIM client,如此便可完成整個文字輸入的動作,包括了轉譯與輸入法組字。The relevant operation methods can be summarized into the seven steps of Figure 13, which are marked as (1) ~ (7), as explained below. First, the button that the user taps on the keyboard is received by the X Server via step (1), and then directly transmitted to the XIM client currently being the foreground window by step (2). When the XIM client receives the keyboard input event, it will first pass the event back to the X Server via step (3) to determine whether there is a XIM server that is currently connected and whether the event is XIM. The event of interest to the server. At this point, X Server can know that the keyboard translation software 90 registered by the XIM client is working and interested, so X Server will pass this event to the keyboard translation software 90 via step (4). The keyboard translation software 90 then tells the XIM client that the event has been processed by the keyboard translation software 90 through the X server via the X server. The XIM client does not need to process the event, and the keyboard translation software 90 performs the translation operation. Then, through step (6), the result is returned to the X Server to determine whether there is a real input method program registered by the keyboard translation software 90 and whether the event is an event of interest to the input method program. If so, X Server will pass this event to the input method via step (7). If the input method is processed, it will generate a new event signal, which will be sent to the keyboard translation software 90 via the X Server. When the keyboard translation software 90 is received, a new event signal is generated in the same way, via X. The Server sends it to the XIM client, so that the entire text input action can be completed, including translation and input method words.

在習知技術中,X Window系統係以XIM協定完成文字輸入的動作,但未揭露如何修改鍵盤中各按鍵的對應鍵值。相較之下,本發明提供兩種鍵盤轉譯服液,一種是針對不同應用程式,另一種則是針對同一鍵盤,且兩種可較佳地合併使用,因而可改善習知技術的缺點。In the prior art, the X Window System performs the text input action by the XIM protocol, but does not disclose how to modify the corresponding key value of each key in the keyboard. In contrast, the present invention provides two types of keyboard translation solutions, one for different applications and the other for the same keyboard, and the two are preferably used in combination, thereby improving the shortcomings of the prior art.

綜上所述,針對符合用戶端對伺服器架構之作業系統,本發明提供一種具雙重角色的鍵盤轉譯方式,亦即對XIM client而言,本發明之鍵盤轉譯軟體是一個XIM Server,但是對於輸入法程式而言,本發明之鍵盤轉譯軟體是一個XIM Client。因此,本發明可針對不同應用程式提供對應的上層轉譯表,並對同一鍵盤提供下層轉譯表,進而使得鍵盤可產生不同的鍵值。In summary, the present invention provides a dual-role keyboard translation method for an operating system that conforms to a client-to-server architecture. That is, for the XIM client, the keyboard translation software of the present invention is a XIM Server, but In terms of the input method program, the keyboard translation software of the present invention is a XIM Client. Therefore, the present invention can provide a corresponding upper translation table for different applications, and provide a lower translation table for the same keyboard, thereby enabling the keyboard to generate different key values.

以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。The above are only the preferred embodiments of the present invention, and all changes and modifications made to the scope of the present invention should be within the scope of the present invention.

40、60...鍵盤轉譯流程40, 60. . . Keyboard translation process

400、402、404、406、600、602、604、606...步驟400, 402, 404, 406, 600, 602, 604, 606. . . step

90...鍵盤轉譯軟體90. . . Keyboard translation software

900...第一產生單元900. . . First generation unit

902...第二產生單元902. . . Second generation unit

904...下層轉譯單元904. . . Lower translation unit

906...上層轉譯單元906. . . Upper translation unit

第1圖為習知一X Windows系統之架構模型圖。Figure 1 is an architectural model diagram of a conventional X Windows system.

第2圖為習知一XIM協定之示意圖。Figure 2 is a schematic diagram of a conventional XIM protocol.

第3圖為習知一XIM協定之運作情形示意圖。Figure 3 is a schematic diagram of the operation of the conventional XIM protocol.

第4圖為本發明實施例一鍵盤轉譯流程之示意圖。FIG. 4 is a schematic diagram of a keyboard translation process according to an embodiment of the present invention.

第5圖為應用第4圖之鍵盤轉譯流程之一上層轉譯表之示意圖。Figure 5 is a schematic diagram of an upper translation table using one of the keyboard translation processes of Figure 4.

第6圖為本發明實施例一鍵盤轉譯流程之示意圖。FIG. 6 is a schematic diagram of a keyboard translation process according to an embodiment of the present invention.

第7圖為一鍵盤更換標籤之示意圖。Figure 7 is a schematic diagram of a keyboard replacement label.

第8圖為應用第6圖之鍵盤轉譯流程之一下層轉譯表之示意圖。Figure 8 is a schematic diagram of a lower-level translation table using one of the keyboard translation processes of Figure 6.

第9圖為本發明實施例一鍵盤轉譯軟體之示意圖。FIG. 9 is a schematic diagram of a keyboard translation software according to an embodiment of the present invention.

第10圖為對應於第9圖之鍵盤轉譯軟體之一轉譯表示意圖。Figure 10 is a schematic diagram of a translation table corresponding to the keyboard translation software of Figure 9.

第11圖為對應於第9圖之鍵盤轉譯軟體之另一轉譯表示意圖。Figure 11 is a schematic diagram of another translation table corresponding to the keyboard translation software of Figure 9.

第12圖為本發明實施例中上層轉譯表與下層轉譯表之關係示意圖。Figure 12 is a schematic diagram showing the relationship between an upper translation table and a lower translation table in the embodiment of the present invention.

第13圖為本發明中鍵盤轉譯之運作情形示意圖。Figure 13 is a schematic diagram showing the operation of the keyboard translation in the present invention.

40、60...鍵盤轉譯流程40, 60. . . Keyboard translation process

400、402、404、406、600、602、604、606...步驟400, 402, 404, 406, 600, 602, 604, 606. . . step

Claims (27)

一種用於一作業系統之鍵盤轉譯方法,該作業系統係符合一X Client對X Server架構,該鍵盤轉譯方法包含有:於該作業系統開機時,執行一鍵盤轉譯軟體,使該鍵盤轉譯軟體與存在XMODIFIERS系統環境變數中的一輸入法程式進行註冊連線,並於註冊連線成功之後,將XMODIFIERS變數改成該鍵盤轉譯軟體之名稱;產生對應於該作業系統中複數個應用程式之複數個上層轉譯表;於該複數個應用程式之一應用程式啟動時,根據XMODIFIERS系統環境變數將該應用程式與該鍵盤轉譯軟體進行註冊連線;以及根據一對應之上層轉譯表,該鍵盤轉譯軟體轉換一鍵盤中複數個按鍵所代表之鍵值,並將轉換結果傳送至該應用程式;其中,該轉換結果係一鍵值型式。 A keyboard translation method for an operating system, the operating system conforms to an X Client to X Server architecture, and the keyboard translation method includes: when the operating system is powered on, executing a keyboard translation software to enable the keyboard translation software and There is an input method in the XMODIFIERS system environment variable to register the connection, and after the registration connection is successful, the XMODIFIERS variable is changed to the name of the keyboard translation software; a plurality of applications corresponding to the plurality of applications in the operating system are generated. An upper translation table; when the application of the plurality of applications is started, the application is registered with the keyboard translation software according to the XMODIFIERS system environment variable; and the keyboard translation software conversion is performed according to a corresponding upper layer translation table. A key value represented by a plurality of keys in a keyboard, and the conversion result is transmitted to the application; wherein the conversion result is a key value type. 如請求項1所述之鍵盤轉譯方法,其中產生對應於該作業系統中該複數個應用程式之該複數個上層轉譯表,係由一使用者設定該複數個應用程式中該鍵盤之該複數個按鍵所代表的鍵值,以產生對應於該作業系統中該複數個應用程式之該複數個上層轉譯表。 The keyboard translation method of claim 1, wherein the plurality of upper-level translation tables corresponding to the plurality of applications in the operating system are generated, and the user sets the plurality of the keyboards in the plurality of applications. The key value represented by the button to generate the plurality of upper translation tables corresponding to the plurality of applications in the operating system. 如請求項1所述之鍵盤轉譯方法,其中產生對應於該作業系統中該複數個應用程式之該複數個上層轉譯表,另包含儲存該複數個上層轉譯表。 The keyboard translation method of claim 1, wherein the plurality of upper translation tables corresponding to the plurality of applications in the operating system are generated, and further comprising storing the plurality of upper translation tables. 如請求項1所述之鍵盤轉譯方法,其中該複數個按鍵的數量小於該鍵盤之所有按鍵的數量。 The keyboard translation method of claim 1, wherein the number of the plurality of keys is less than the number of all the keys of the keyboard. 如請求項1所述之鍵盤轉譯方法,其中該作業系統係一X Window作業系統。 The keyboard translation method of claim 1, wherein the operating system is an X Window operating system. 一種用於一作業系統之鍵盤轉譯電腦程式產品,該作業系統係符合一X Client對X Server架構,於該作業系統開機時,執行該鍵盤轉譯電腦程式產品,使該鍵盤轉譯電腦程式產品與存在XMODIFIERS系統環境變數中的一輸入法程式進行註冊連線,並於註冊連線成功之後,將XMODIFIERS變數改成該鍵盤轉譯電腦程式產品之名稱,經由電腦載入該鍵盤轉譯電腦程式產品執行:一產生程式指令,使一微處理器產生對應於該作業系統中複數個應用程式之複數個上層轉譯表;以及一轉譯程式指令,使該微處理器於該複數個應用程式之一應用程式啟動時,根據一對應之上層轉譯表,轉換一鍵盤中複數個按鍵所代表之鍵值,並將轉換結果傳送至該應用程式;其中,該轉換結果係一鍵值型式。 A keyboard translation computer program product for an operating system, the operating system conforms to an X Client to X Server architecture, and when the operating system is powered on, the keyboard translation computer program product is executed, so that the keyboard translates the computer program product and exists An input method program in the XMODIFIERS system environment variable is registered and connected, and after the registration connection is successful, the XMODIFIERS variable is changed to the name of the keyboard translation computer program product, and the keyboard translation computer program product is loaded via the computer: Generating program instructions to cause a microprocessor to generate a plurality of upper level translation tables corresponding to a plurality of applications in the operating system; and a translation program instruction to cause the microprocessor to launch the application in one of the plurality of applications Converting a key value represented by a plurality of keys in a keyboard according to a corresponding upper layer translation table, and transmitting the conversion result to the application; wherein the conversion result is a key value type. 如請求項6所述之鍵盤轉譯電腦程式產品,其中該產生程式指令係由一使用者設定該複數個應用程式中該鍵盤之該複數個按鍵所代表的鍵值,以使該微處理器產生對應於該作業系統中該複數 個應用程式之該複數個上層轉譯表。 The keyboard translation computer program product of claim 6, wherein the generation program command is a user setting a key value represented by the plurality of keys of the keyboard in the plurality of applications, so that the microprocessor generates Corresponding to the plural in the operating system The plurality of upper translation tables of the application. 如請求項6所述之鍵盤轉譯電腦程式產品,其中該產生程式指令另使該微處理器儲存該複數個上層轉譯表。 The keyboard-translating computer program product of claim 6, wherein the generating program instructions further cause the microprocessor to store the plurality of upper-level translation tables. 如請求項6所述之鍵盤轉譯電腦程式產品,其中該複數個按鍵的數量小於該鍵盤之所有按鍵的數量。 The keyboard translation computer program product of claim 6, wherein the number of the plurality of keys is less than the number of all the keys of the keyboard. 如請求項6所述之鍵盤轉譯電腦程式產品,其中該作業系統係一X Window作業系統。 The keyboard translation computer program product of claim 6, wherein the operating system is an X Window operating system. 一種用於一作業系統之鍵盤轉譯方法,該作業系統係符合一X Client對X Server架構,該鍵盤轉譯方法包含有:於該作業系統開機時,執行一鍵盤轉譯軟體,使該鍵盤轉譯軟體與存在XMODIFIERS系統環境變數中的輸入法程式進行註冊連線,並於註冊連線成功之後,將XMODIFIERS變數改成該鍵盤轉譯軟體之名稱;產生對應於一鍵盤之一下層轉譯表;以及根據該下層轉譯表,該鍵盤轉譯軟體轉換該鍵盤中複數個按鍵所代表之鍵值為一鍵值型式之轉換結果。 A keyboard translation method for an operating system, the operating system conforms to an X Client to X Server architecture, and the keyboard translation method includes: when the operating system is powered on, executing a keyboard translation software to enable the keyboard translation software and There is an input method program in the XMODIFIERS system environment variable to register the connection, and after the registration connection is successful, the XMODIFIERS variable is changed to the name of the keyboard translation software; a lower translation table corresponding to one keyboard is generated; and according to the lower layer The translation table, the keyboard translation software converts the key value represented by the plurality of keys in the keyboard into a key value type conversion result. 如請求項11所述之鍵盤轉譯方法,其中產生對應於該鍵盤之該下層轉譯表,係由一使用者設定該鍵盤之該複數個按鍵所代表的鍵值,以產生對應於該鍵盤之該下層轉譯表。 The keyboard translation method of claim 11, wherein the lower layer translation table corresponding to the keyboard is generated, and a user sets a key value represented by the plurality of keys of the keyboard to generate the keyboard corresponding to the keyboard. Lower translation table. 如請求項11所述之鍵盤轉譯方法,其中產生對應於該鍵盤之該下層轉譯表,另包含儲存該下層轉譯表。 The keyboard translation method of claim 11, wherein the lower layer translation table corresponding to the keyboard is generated, and the lower layer translation table is further stored. 如請求項11所述之鍵盤轉譯方法,其中該複數個按鍵的數量小於該鍵盤之所有按鍵的數量。 The keyboard translation method of claim 11, wherein the number of the plurality of keys is less than the number of all the keys of the keyboard. 如請求項11所述之鍵盤轉譯方法,其中該作業系統係一X Window作業系統。 The keyboard translation method of claim 11, wherein the operating system is an X Window operating system. 一種用於一作業系統之鍵盤轉譯電腦程式產品,該作業系統係符合一X Client對X Server架構,於該作業系統開機時,執行該鍵盤轉譯電腦程式產品,使該鍵盤轉譯電腦程式產品與存在XMODIFIERS系統環境變數中的輸入法程式進行註冊連線,並於註冊連線成功之後,將XMODIFIERS變數改成該鍵盤轉譯電腦程式產品之名稱,經由電腦載入該鍵盤轉譯電腦程式產品執行:一產生程式指令,使一微處理器產生對應於一鍵盤之一下層轉譯表;以及一轉譯程式指令,使該微處理器根據該下層轉譯表,轉換該鍵盤中複數個按鍵所代表之鍵值為一鍵值型式之轉換結果。 A keyboard translation computer program product for an operating system, the operating system conforms to an X Client to X Server architecture, and when the operating system is powered on, the keyboard translation computer program product is executed, so that the keyboard translates the computer program product and exists The input method program in the XMODIFIERS system environment variable is registered and connected, and after the registration connection is successful, the XMODIFIERS variable is changed to the name of the keyboard translation computer program product, and the keyboard translation computer program product is loaded via the computer: a program instruction, causing a microprocessor to generate a lower layer translation table corresponding to a keyboard; and a translation program instruction for causing the microprocessor to convert a key value represented by the plurality of keys in the keyboard according to the lower layer translation table The result of the conversion of the key value type. 如請求項16所述之鍵盤轉譯電腦程式產品,其中該產生程式指令係由一使用者設定該鍵盤之該複數個按鍵所代表的鍵值,以使該微處理器產生對應於該鍵盤之該下層轉譯表。 The keyboard translation computer program product of claim 16, wherein the generating program command is configured by a user to set a key value represented by the plurality of keys of the keyboard, so that the microprocessor generates the keyboard corresponding to the keyboard. Lower translation table. 如請求項16所述之鍵盤轉譯電腦程式產品,其中該產生程式指令另使該微處理器儲存該下層轉譯表。 The keyboard-translating computer program product of claim 16, wherein the generating program instructions further cause the microprocessor to store the lower-level translation table. 如請求項16所述之鍵盤轉譯電腦程式產品,其中該複數個按鍵的數量小於該鍵盤之所有按鍵的數量。 The keyboard translation computer program product of claim 16, wherein the number of the plurality of keys is less than the number of all the keys of the keyboard. 如請求項16所述之鍵盤轉譯電腦程式產品,其中該作業系統係一X Window作業系統。 The keyboard translation computer program product of claim 16, wherein the operating system is an X Window operating system. 一種用於一作業系統之鍵盤轉譯電腦程式產品,該作業系統係符合一X Client對X Server架構,於該作業系統開機時,執行該鍵盤轉譯電腦程式產品,使該鍵盤轉譯電腦程式產品與存在XMODIFIERS系統環境變數中的輸入法程式進行註冊連線,並於註冊連線成功之後,將XMODIFIERS變數改成該鍵盤轉譯電腦程式產品之名稱,經由電腦載入該鍵盤轉譯電腦程式產品執行:一第一產生程式指令,使一微處理器產生對應於該作業系統中複數個應用程式之複數個上層轉譯表;一第二產生程式指令,使該微處理器產生對應於一鍵盤之一下層轉譯表;一下層轉譯程式指令,使該微處理器根據該下層轉譯表,轉換該鍵盤中複數個按鍵所代表之鍵值,以產生一第一轉換結果;以及一上層轉譯程式指令,使該微處理器於該複數個應用程式之一應 用程式啟動時,根據一對應之上層轉譯表,轉換該第一轉換結果,以產生一第二轉換結果,並將第二轉換結果傳送至該應用程式;其中,該第二轉換結果係一鍵值型式。 A keyboard translation computer program product for an operating system, the operating system conforms to an X Client to X Server architecture, and when the operating system is powered on, the keyboard translation computer program product is executed, so that the keyboard translates the computer program product and exists The input method program in the XMODIFIERS system environment variable is registered and connected, and after the registration connection is successful, the XMODIFIERS variable is changed to the name of the keyboard translation computer program product, and the keyboard translation computer program product is loaded via the computer: Generating a program instruction to cause a microprocessor to generate a plurality of upper layer translation tables corresponding to a plurality of applications in the operating system; and a second generation program instruction to cause the microprocessor to generate a lower layer translation table corresponding to a keyboard a lower level translation program instruction, the microprocessor converts the key value represented by the plurality of keys in the keyboard according to the lower layer translation table to generate a first conversion result; and an upper layer translation program instruction to enable the micro processing One of the plurality of applications should When the program is started, the first conversion result is converted according to a corresponding upper layer translation table to generate a second conversion result, and the second conversion result is transmitted to the application; wherein the second conversion result is a key Value type. 如請求項21所述之鍵盤轉譯電腦程式產品,其中該第一產生程式指令係由一使用者設定該複數個應用程式中該鍵盤之該複數個按鍵所代表的鍵值,以使該微處理器產生對應於該作業系統中該複數個應用程式之該複數個上層轉譯表。 The keyboard translation computer program product of claim 21, wherein the first generation program command is a user setting a key value represented by the plurality of keys of the keyboard in the plurality of applications to enable the micro processing The plurality of upper translation tables corresponding to the plurality of applications in the operating system are generated. 如請求項21所述之鍵盤轉譯電腦程式產品,其中該第一產生程式指令另使該微處理器儲存該複數個上層轉譯表。 The keyboard translation computer program product of claim 21, wherein the first generation program instruction further causes the microprocessor to store the plurality of upper layer translation tables. 如請求項21所述之鍵盤轉譯電腦程式產品,其中該第二產生程式指令係由一使用者設定該鍵盤之該複數個按鍵所代表的鍵值,以使該微處理器產生對應於該鍵盤之該下層轉譯表。 The keyboard translation computer program product of claim 21, wherein the second generation program instruction is a user setting a key value represented by the plurality of keys of the keyboard, so that the microprocessor generates a keyboard corresponding to the keyboard. The lower translation table. 如請求項21所述之鍵盤轉譯電腦程式產品,其中該第二產生程式指令另使該微處理器儲存該下層轉譯表。 The keyboard translation computer program product of claim 21, wherein the second generation program instruction further causes the microprocessor to store the lower layer translation table. 如請求項21所述之鍵盤轉譯電腦程式產品,其中該複數個按鍵的數量小於該鍵盤之所有按鍵的數量。 The keyboard translation computer program product of claim 21, wherein the number of the plurality of keys is less than the number of all the keys of the keyboard. 如請求項21所述之鍵盤轉譯電腦程式產品,其中該作業系統係 一X Window作業系統。The keyboard translation computer program product of claim 21, wherein the operating system is An X Window operating system.
TW097146315A 2008-11-28 2008-11-28 Keyboard interpretation method and related device for an operating system TWI475481B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW097146315A TWI475481B (en) 2008-11-28 2008-11-28 Keyboard interpretation method and related device for an operating system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW097146315A TWI475481B (en) 2008-11-28 2008-11-28 Keyboard interpretation method and related device for an operating system

Publications (2)

Publication Number Publication Date
TW201020916A TW201020916A (en) 2010-06-01
TWI475481B true TWI475481B (en) 2015-03-01

Family

ID=44832443

Family Applications (1)

Application Number Title Priority Date Filing Date
TW097146315A TWI475481B (en) 2008-11-28 2008-11-28 Keyboard interpretation method and related device for an operating system

Country Status (1)

Country Link
TW (1) TWI475481B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5640540A (en) * 1995-02-13 1997-06-17 International Business Machines Corporation Method and apparatus for translating key codes between servers over a conference networking system
TW432287B (en) * 1997-06-10 2001-05-01 Ibm Message handling method, message handling apparatus, and memory media for storing a message handling apparatus controlling program
TW200710707A (en) * 2005-09-02 2007-03-16 Charisma Comm Inc Multimedia accessible universal input device
TWI293152B (en) * 2005-06-20 2008-02-01 Lite On Technology Corp Character input system capable of adjusting a character setting corresponding to an input device and method thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5640540A (en) * 1995-02-13 1997-06-17 International Business Machines Corporation Method and apparatus for translating key codes between servers over a conference networking system
TW432287B (en) * 1997-06-10 2001-05-01 Ibm Message handling method, message handling apparatus, and memory media for storing a message handling apparatus controlling program
TWI293152B (en) * 2005-06-20 2008-02-01 Lite On Technology Corp Character input system capable of adjusting a character setting corresponding to an input device and method thereof
TW200710707A (en) * 2005-09-02 2007-03-16 Charisma Comm Inc Multimedia accessible universal input device

Also Published As

Publication number Publication date
TW201020916A (en) 2010-06-01

Similar Documents

Publication Publication Date Title
US10706224B2 (en) Providing context-aware input data
US8200475B2 (en) Phonetic-based text input method
US7707515B2 (en) Digital user interface for inputting Indic scripts
US20050137873A1 (en) Method and system for multi-language web homepage selection process
US7272792B2 (en) Kana-to-kanji conversion method, apparatus and storage medium
JP2008123395A (en) Program, copy and paste processing method, device, and recording medium
US8275779B2 (en) Data tranformations for applications supporting different data formats
CN106155652A (en) A kind of generation method and system of multi-language data file
KR100676697B1 (en) Language displaying method and system of software for computer, recording media of computer program therefor
US20170242850A1 (en) Performing a code conversion in a smaller target encoding space
US8301647B2 (en) Data tranformations for a source application and multiple target applications supporting different data formats
CN101751249B (en) Keyboard translation method for operating system and relevant device thereof
US8094940B2 (en) Input method transform
CN111988384B (en) Information transmission method and device, electronic equipment and storage medium
US20080313607A1 (en) Unified input stack
KR20060102614A (en) System and method for providing translated font image data with multi-language font servers connected over network
TWI475481B (en) Keyboard interpretation method and related device for an operating system
US8670973B2 (en) Language translation reuse in different systems
JP2008243070A (en) Environmental transition server device, terminal device, environmental transition method and environmental transition program
CN111046020A (en) Information processing method and device, storage medium and electronic equipment
TW202043988A (en) Input module and input method thereof
US20240193161A1 (en) Reverse engineered retokenization for translation of machine interpretable languages
US20230004989A1 (en) Customer recognition system
JP2014123379A (en) Chinese patent application file conversion system and method
JP2017045123A (en) Image processing system, method, program and recording medium using landscape picture including text

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees