Linux - HardwareThis forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Note the Natural mmk (http://www.microsoft.com/hardware/ke.../nmmk_info.asp ), but Just the mmk. I can't find the multimedia's drivers/layout in xfree86config.. is there one? If not, I would like to know how to add scan codes to my keyboard map: the format of the string + where to put it would be helpfull.
for now i don't think there are supports for that specific keyboard (i have the Natural MMK too) and i am not that disappointed since it's a keyboard from MS...
(Control Center) Keyboard Layout -> Keyboard model (choose your keyboard)
Not there?
Find the keycode of those buttons -> run xmodmap -pk on KDE's konsole and
modify your ~/.Xmodmap to include the keycode map pairs
!!
keycode 164 = XF86AudioStop
keycode 144 = XF86AudioPrev
keycode 153 = XF86AudioNext
keycode 160 = XF86AudioMute
keycode 176 = XF86AudioRaiseVolume
keycode 174 = XF86AudioLowerVolume
keycode 162 = XF86AudioPause
etc
!!
xmodmap -pk failed? run xev on konsole. Press those bottons one by one. write down the keycode pairs on .Xmodmap
then restartx
Configure your apps e.g. xmms (keybindings) to include those multimedia / internet features.
LinEAK - Linux support for Easy Access and Internet Keyboards
Copyright (C) 2001,2002 Mark Smulders
[ How to get your keyboard supported by LinEAK ]
So... you have an Internet or Multimedia keyboard, you came
across LinEAK and thought "hell yeah, let's give it a shot"
But, alas, your keyboard is not supported.
Okay, then here's what to do, step by step :-)
[UPDATE: please use the keynames as you would call them !!
although lineakd 0.2 does not support "any keynames", I need
them for adding them to the next version (0.3) which does.]
[ Step 1: gather information ]
To fully support your keyboard I will need some general
information about it, such as:
- full name of the keyboard (eg. "Microsoft Internet Keyboard Pro")
- a picture of it, which can usually be found at the manufacturer's
website. Send me the URL and I'll be pleased too :)
[ Step 2: discover the keycodes ]
To be able to use your special keys, I will need the keycodes
generated by X. There are basically two ways to find them,
but for now, stick with the first option...
(option 1)
- open an xterm
- run 'xev'
- then for each button: press it and watch a bunch of
information appear in the terminal, something like:
KeyPress event, serial 23, synthetic NO, window 0x5a00001,
root 0x36, subw 0x0, time 2407465070, (146,-62), root:(719,272),
state 0x0, keycode 234 (keysym 0x0, NoSymbol), same_screen YES,
XLookupString gives 0 characters: ""
What you want is "keycode XXX". In the above example, the code
would be 234.
- Do this for every key, and make a list of the key/keycode pairs
(eg. play 234, stop 223, internet 187, etc)
(option 2)
when xev does not react to the keys, there is one more
possibility to get the codes.
WARNING: this option may or may not work, and will be implemented
in LinEAK in the future (but it is not, at this time)
- configure lineakd for some other keyboard than you have
take one with a lot of keys, such as the CIK18g.
To do so, run:
lineakd -c CIK18g
- then, run lineakd in verbose mode: lineakd -v
- punch your keys, and look at the output of lineakd, it might tell
you what keycode was pressed.
- if this works for some of the keys, but not all, try the above steps
with some other keyboard types.
Alright, you got this far. Take a breath, a beer or other beverage maybe...
so... feel any better now? Okay, we'll continue ...
[ Step 3: the keyboard definition ]
With the information acquired above, we can now create the keyboard definition.
Now,
- take your favorite editor
- copy one of the keyboard definitions from the existing lineakkb.def file
(usually located in /usr/local/etc) to a new file.
- think of a unique identifier for your keyboard, and put it in [TYPE]
- change the "longname" to a description of your keyboard
- change the "keys = { }" list so that it contains the names of the keys
present on your keyboard. (note: only use names that exist in the
existing file, if you make up new ones, the program will fail)
- for each key, add the "key = keycode" pair.
And you're done. Now,
- Add the new definition at the bottom of the existing lineakkb.def
(you will probably have to be root to do so)
[ Step 4: the final steps ]
To check if your definition went alright, and no typo are present, run
"lineakd -l"
and check if your new keyboard type is listed.
To create a new config file for your keyboard, run
"lineakd -c TYPE"
where TYPE is the identifier you thought of.
To verify the definition is correct with your hardware, run
"lineakd -v"
now lineakd runs in verbose mode, so go ahead and punch your keys, they
should register correctly in the output of lineakd.
Press Ctrl-C to quit again.
Now you are set to add your own commands to the keys, by using lineakconfig,
or to manually edit
$HOME/.lineak/lineakd.conf
it should be quite self-explanatory.
When you're done, you can start lineakd into the background and start using it.
"lineakd -b"
NOTE: please share your newly supported keyboard with the rest of the world
by e-mailing the new keyboard definition to me (Mark@PIRnet.nl)
Thanks!
and if you dont have xev here is my keyboard (i have the same but black)
open console and type su and root password
and type
Code:
pico /etc/X11/xinit/xinitrc
or startx as root and use an editor like kwrite and go to the bottom
of the file there you have start kde or exec blackbox that
depends on which window manager you are using and over
the code to start your window manager type
Code:
/usr/local/bin/lineakd -b &
if you have configured the keys by lineakconfigure or by hand
youl have a lineakd.conf in /home/"username"/.lineak/ you have to copy it to
/root/.lineak/lineakd.conf
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.