導航:首頁 > 編程系統 > linux鍵盤編碼

linux鍵盤編碼

發布時間:2024-08-12 13:37:26

linux 鍵盤修改映射。

xmodmap -pke | grep -i tab
xmodmap -pke | grep -i grave

上面兩條命令分別找到 tab 和 ~ 兩個鍵對應的keycode,比如,在我的系統上是:

keycode 23 = Tab ISO_Left_Tab Tab ISO_Left_Tab

keycode 49 = grave asciitilde grave asciitilde

你的系統上對應的keycode可能略有不同。 如果你的xmodmap沒有Tab的定義,也沒關系,用xev也能找到keycode,然後創建一個 ~/.Xmodmaprc 文件,內容為

keycode 49 = Tab ISO_Left_Tab Tab ISO_Left_Tab
keycode 23 = grave asciitilde grave asciitilde

就是把標準的結果互換一下,然後保存 ~/.Xmodmaprc
在命令行下 xmodmap ~/.Xmodmaprc,就行了

注意,我這里tab對應keycode 23, ~對應49,你的不一定是這樣的,可以用xev來識別。

Ⅱ 在linux終端中,鍵盤輸入字元與鍵盤上的字元不一致,是怎麼回事

應該是終端鍵盤布局(keyboard layout)設置不當吧。
因為我們通常用的鍵盤都是us104兼容的,所以很少需要手動設置。

補充:
我最近遇到一個類似的問題,那些方向鍵/PageUp/PageDown/NumLock/PrintScreen等不能正常工作。這個是由於x.org使用input hotplugging不當造成的。

你試試下面的辦法,禁用input hotplugging,手動配置鍵盤:
$ su
# cd /etc/X11
# cp xorg.conf xorg.conf.bak
# nano xorg.conf
在這個文件開頭添加:
Section "ServerFlags"
Option "AutoAddDevices" "False"
Option "AllowEmptyInput" "False"
EndSection
然後查看這個文件與鍵盤相關的部分是否使用了正確的驅動和布局:
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "XkbRules" "xorg"
Option "XkbModel" "pc104"
Option "XkbLayout" "us"
EndSection

之後重啟X。

如果你的發行版默認沒有/etc/X11/xorg.conf文件,再發網路消息給我,或者添加在問題補充裡面。

再補充:
詳細步驟
先打開終端,一般在GNOME菜單的附件裡面。
以下命令在終端中輸入:

〔切換到root用戶:〕
輸入su,回車,輸入root密碼,回車

依次輸入以下命令,忽略前面的#提示符:
〔備份原來的xorg.conf,然後用編輯器打開這個文件〕
# cd /etc/X11
# cp xorg.conf xorg.conf.bak
# nano xorg.conf
現在應該在nano編輯器裡面了,你按照我前面說的該添加的添加,該檢查的檢查,之後保存文件。
退出終端,重啟X。

Ⅲ linux中 文件屬性以 l、b、c、d。開頭的都是什麼文件

「l」是鏈接文件,相當於windows的快捷方式;

「b」是塊設備,硬碟就是一個例回子;

「c」是字元設備文答件,滑鼠,鍵盤算是;

「d」是目錄文件,相當於windows的文件夾。

Ⅳ 更改linux系統中鍵盤設置

點擊『系統』菜單,進入『首選項』,選擇『鍵盤』菜單。在彈出的『鍵盤首選項』對話框中選擇『布局』標簽。可以在這里更改設定。

Ⅳ 求Linux 下模擬鍵盤輸入的代碼(基於GTK 與 Fakekey)


#include <gtk/gtk.h>

#include <gdk/gdkkeysyms.h>

#include <fakekey/fakekey.h>

#include <X11/keysym.h>


Display* disp ;

FakeKey *fk;

GtkWidget *win = NULL;

static char *numkeyboard_display[]=

{

"1", "2", "3", "+","4", "5", "6","-", "7", "8", "9", ".", "0", "←", "→", "Backspace", "Delete", "Enter"

};


static gushort numkeyboard_send[] =

{

XK_1, XK_2, XK_3, XK_plus, XK_4, XK_5, XK_6, XK_minus, XK_7, XK_8, XK_9, XK_period, XK_0, XK_Left, XK_Right, XK_BackSpace, XK_Delete, XK_Return

};




gboolean numbt_release (GtkWidget *widget, GdkEventButton *event,

gpointer user_data)

{

gint i = GPOINTER_TO_UINT(user_data);

fakekey_press_keysym(fk, numkeyboard_send[i], 0);

fakekey_release(fk);


return TRUE;

}


void clicked_callback(GtkButton *button1, GtkWindow *window)

{


gint j;

GtkWidget *button[5];

GtkWidget *vbox = gtk_vbox_new(FALSE, 5);

GtkWidget *hbox[5];

if(win)

{

gtk_widget_destroy (win);

win = NULL ;

}

else

{

win = gtk_window_new (GTK_WINDOW_POPUP);

hbox[0] = gtk_hbox_new(TRUE, 5);

for (j = 0 ; j < 4; j++ ) {

button[0] = gtk_button_new_with_label (numkeyboard_display[j]);

gtk_box_pack_start_defaults(GTK_BOX(hbox[0]), button[0]);

g_signal_connect(G_OBJECT(button[0]), "button-release-event",

G_CALLBACK(numbt_release), GUINT_TO_POINTER (j));

}

gtk_box_pack_start_defaults(GTK_BOX(vbox), hbox[0]);


hbox[1] = gtk_hbox_new(TRUE, 5);

for (j = 4 ; j < 8; j++ ) {

button[1] = gtk_button_new_with_label (numkeyboard_display[j]);

gtk_box_pack_start_defaults(GTK_BOX(hbox[1]), button[1]);

g_signal_connect(G_OBJECT(button[1]), "button-release-event",

G_CALLBACK(numbt_release), GUINT_TO_POINTER (j));

}

gtk_box_pack_start_defaults(GTK_BOX(vbox), hbox[1]);


hbox[2] = gtk_hbox_new(TRUE, 5);

for (j = 8 ; j < 12; j++ ) {

button[2] = gtk_button_new_with_label (numkeyboard_display[j]);

gtk_box_pack_start_defaults(GTK_BOX(hbox[2]), button[2]);

g_signal_connect(G_OBJECT(button[2]), "button-release-event",

G_CALLBACK(numbt_release), GUINT_TO_POINTER (j));

}

gtk_box_pack_start_defaults(GTK_BOX(vbox), hbox[2]);


hbox[3] = gtk_hbox_new(TRUE, 5);

for (j = 12 ; j < 15; j++ ) {

button[3] = gtk_button_new_with_label (numkeyboard_display[j]);

gtk_box_pack_start_defaults(GTK_BOX(hbox[3]), button[3]);

g_signal_connect(G_OBJECT(button[3]), "button-release-event",

G_CALLBACK(numbt_release), GUINT_TO_POINTER (j));

}

gtk_box_pack_start_defaults(GTK_BOX(vbox), hbox[3]);


hbox[4] = gtk_hbox_new(TRUE, 5);

for (j = 15 ; j < 18; j++ ) {

button[4] = gtk_button_new_with_label (numkeyboard_display[j]);

gtk_box_pack_start_defaults(GTK_BOX(hbox[4]), button[4]);

g_signal_connect(G_OBJECT(button[4]), "button-release-event",

G_CALLBACK(numbt_release), GUINT_TO_POINTER (j));

}

gtk_box_pack_start_defaults(GTK_BOX(vbox), hbox[4]);

gtk_container_add(GTK_CONTAINER(win), vbox);


gtk_window_move (GTK_WINDOW (win), 200, 200); /* 設置窗口位置 */

gtk_widget_show_all(win);

}

}


int main(int argc, char *argv[])

{

GtkWidget *window;

GtkWidget *button;

GtkWidget *entry;

GtkWidget *vbox;


gtk_init(&argc, &argv);

window = gtk_window_new(GTK_WINDOW_TOPLEVEL);

gtk_window_set_title(GTK_WINDOW(window), "KeyBoard");

gtk_window_set_default_size(GTK_WINDOW(window),400,300);


disp = XOpenDisplay(NULL);//屏幕按鍵函數改成為內核驅動代發

if( disp == NULL )

return 1;

fk = fakekey_init(disp);



vbox = gtk_vbox_new(FALSE, 5);

button = gtk_button_new_with_label("彈出鍵盤");

gtk_widget_set_size_request(GTK_WIDGET(button),400,250);

gtk_box_pack_start_defaults(GTK_BOX(vbox), button);


entry = gtk_entry_new();

gtk_box_pack_start_defaults(GTK_BOX(vbox), entry);

gtk_widget_set_size_request(GTK_WIDGET(entry),400,50);


g_signal_connect(GTK_OBJECT(window), "destroy",G_CALLBACK(gtk_main_quit), NULL);

g_signal_connect(GTK_OBJECT(button), "clicked",G_CALLBACK(clicked_callback), window);

gtk_container_add(GTK_CONTAINER(window), vbox);

gtk_widget_show_all(window);


gtk_main();

return 0;

}

Ⅵ LINUX的鍵盤驅動函數

1) Scancode mode (raw )raw模式:將鍵盤埠上讀出的掃描碼放入緩沖區版
2) Keycode mode (mediumraw) mediumraw模式:將掃權描碼過濾為鍵盤碼放入緩沖區
3) ASCII mode (XLATE ) XLATE模式:識別各種鍵盤碼的組合,轉換為TTY終端代碼放入緩沖區
4) UTF-8 MODE (UNICODE) Unicode 模式:UNICODE模式基本上與XLATE相同,只不過可以通過數字小鍵盤間接輸入UNICODE代碼。

閱讀全文

與linux鍵盤編碼相關的資料

熱點內容
微信48mb文件打不開 瀏覽:210
word默認的行距和字元間距是多少 瀏覽:983
如何通過數據解決問題 瀏覽:663
微信給自己發文件 瀏覽:795
如何更換excel文件密碼 瀏覽:842
大數據技術是什麼系 瀏覽:90
怎樣在手機上復制文件夾裡面的文件夾里 瀏覽:395
word亂碼恢復器 瀏覽:138
如何保存頁面密碼 瀏覽:967
傳輸文件內容 瀏覽:22
word文檔中的圖片 瀏覽:815
江門哪裡好學編程 瀏覽:185
nike的app怎麼登 瀏覽:590
寬頻升級為什麼變慢了 瀏覽:623
寬頻連接ipv6無網路訪問許可權 瀏覽:581
誅仙手游文件哪些可以清理 瀏覽:873
javaweb範例寶典pdf 瀏覽:229
編程需要干什麼 瀏覽:143
文件夾代碼加密 瀏覽:592
win10很容易死機 瀏覽:347

友情鏈接