导航:首页 > 编程系统 > 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键盘编码相关的资料

热点内容
学唱粤语歌app 浏览:975
qq游戏生死狙击玩不了 浏览:120
win10邮件不显示图片 浏览:922
口袋妖怪所有版本下载 浏览:504
我们身边都有哪些大数据例子 浏览:25
震旦adc307扫描的文件在哪里 浏览:999
图片打开变成文件 浏览:194
松下微单电脑传文件软件 浏览:574
苹果蓝牙键盘surface 浏览:170
mindmaplinux 浏览:733
oppo手机怎么连接电脑传输数据 浏览:624
word删除尾注分隔符 浏览:773
公告质疑需要哪些文件 浏览:608
数据库模型是干什么的 浏览:404
win10的驱动怎么安装驱动 浏览:320
word文件水印怎么取消 浏览:443
rhel6的镜像文件在哪里下载 浏览:571
成功正能量微信头像 浏览:848
wps表格如何恢复数据 浏览:264
linuxc静态库创建 浏览:838

友情链接