Not able to set quick spell under Linux

Linux support forums for Eschalon: Book II
Post Reply
RezoApio
Marshall
Posts: 126
Joined: October 18th, 2007, 9:27 am
Location: Paris France
Contact:

Not able to set quick spell under Linux

Post by RezoApio »

HI BW,

Thanks for the Linux version. On my Ubuntu 10.4 64Bits, I had not any issue to run it either windowed or fullscreen with sound, excellent speed and everything.

Just the Licence Code could not be pasted on this version and I am pretty sure I had pasted it on the Windows version.

There is one thing that does not work and it may be linked to my french keyboard, there is no way I can preset quick spell on the Linux version.
Whether with Shift (numbers are upper case letters on a French keyboard) or without it does not recognize them. And the numeric keypad is seen as direction arrows with or without the NumLock on...

I think I remember I had also this issue in book I and the only way had been to force an english keyboard mapping before running the game...

Any ideas ?
Gardez suffisament d'humour pour ne pas perdre l'esprit au nom de la raison.
Ama la realidad que construyes y ni aun la muerte detendra tu paso.
RezoApio
Marshall
Posts: 126
Joined: October 18th, 2007, 9:27 am
Location: Paris France
Contact:

Re: Not able to set quick spell under Linux

Post by RezoApio »

even after adding a new keyboard and forcing Eschalon to run with the USA layout, I cannot get the quickspell to work.

BW, would it be possible to a functionnality in the right applet that list the preset spells that would set the spell to the current selected spell when clicking on the number ?
It would solve this issue and also IMHO be a very convenient way to set/unset preset spells.

What do you think ?

Cheers
Gardez suffisament d'humour pour ne pas perdre l'esprit au nom de la raison.
Ama la realidad que construyes y ni aun la muerte detendra tu paso.
User avatar
BasiliskWrangler
Site Admin
Posts: 3825
Joined: July 6th, 2006, 10:31 am
Location: The Grid
Contact:

Re: Not able to set quick spell under Linux

Post by BasiliskWrangler »

Looking into this.
See my ramblings and keep up with the latest news on Twitter & Facebook.
Merelam
Pledge
Posts: 4
Joined: March 25th, 2008, 3:59 am

Re: Not able to set quick spell under Linux

Post by Merelam »

I have the same problem here with my french keyboard.
I run the game under a Ubuntu 10.4 up to date.

There is no reaction when I press a number key on the keyboard or the keypad.
On the french layout, you must press "shift + &" to get a "1".
Pressing the key with or without the shift modifier does not change anything.

I had this problem with book 1, I hope that you can fix it.

Yours,
Guillaume.
jorael
Pledge
Posts: 3
Joined: December 29th, 2011, 5:11 pm

Re: Not able to set quick spell under Linux

Post by jorael »

I have the same problem. Modifying the keyboard layout doesn't work either. This is quite annoying when playing with a magic user, constantly clicking my way throught the spell book.

I understand this issue has been reported a long time ago and is still not fixed. I hope it will.

A really annoying issue in an otherwise very enjoyable game.
User avatar
SpottedShroom
Captain Magnate
Captain Magnate
Posts: 1372
Joined: June 4th, 2010, 6:18 pm

Re: Not able to set quick spell under Linux

Post by SpottedShroom »

If you're willing to spend some time gathering information about the problem, I can probably figure out a work-around for you. I don't know if it will help BW to develop an official fix or not.

First, open a terminal and type "xinput --list". Under "Virtual core keyboard," look for the entry that looks most like a "real" keyboard. For me, the output looks like this:

Code: Select all

⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ TPPS/2 IBM TrackPoint                   	id=10	[slave  pointer  (2)]
⎜   ↳ Microsoft Microsoft 3-Button Mouse with IntelliEye(TM)	id=8	[slave  pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ↳ Power Button                            	id=6	[slave  keyboard (3)]
    ↳ Power Button                            	id=7	[slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard            	id=9	[slave  keyboard (3)]
    ↳ HP WMI hotkeys                          	id=11	[slave  keyboard (3)]
My real keyboard is "AT Translated Set 2 keyboard." Note the "id" number, which is 9 in my case.

Still in the terminal, run "xinput --test <id number>". Press the numbers 1 through 0 one at a time. You should see output like below. If not, you may have picked the wrong keyboard device - try again until you do. When you're done, press CTRL-C. Paste the output in a reply.

Code: Select all

key release 36 
key press   10 
1key release 10 
key press   11 
2key release 11 
key press   12 3
key release 12 
key press   13 
4key release 13 
key press   14 5
key release 14 
6key press   15 
key release 15 
key press   16 
7key release 16 
key press   17 
8key release 17 
9key press   18 
key release 18 
key press   19 
0key release 19 
key press   37 
key press   54 
Still in the terminal, run "xkbcomp $DISPLAY keymap.txt". Then attach the keymap.txt file to your reply.

One more thing and then you're done. Still in the terminal, run "xev > xev.txt". A white window will appear. Select it, then then type the numbers 1 through 0. When you're done, select the terminal window again and press CTRL-C. Then attack the xev.txt file to your reply.
jorael
Pledge
Posts: 3
Joined: December 29th, 2011, 5:11 pm

Re: Not able to set quick spell under Linux

Post by jorael »

Thank for your help SpottedShroom.
SpottedShroom wrote: First, open a terminal and type "xinput --list". Under "Virtual core keyboard," look for the entry that looks most like a "real" keyboard. For me, the output looks like this:

Code: Select all

$ xinput --list
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ ETPS/2 Elantech Touchpad                	id=12	[slave  pointer  (2)]
⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
    ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
    ↳ Power Button                            	id=6	[slave  keyboard (3)]
    ↳ Video Bus                               	id=7	[slave  keyboard (3)]
    ↳ Sleep Button                            	id=8	[slave  keyboard (3)]
    ↳ USB2.0 UVC 1.3M WebCam                  	id=9	[slave  keyboard (3)]
    ↳ Asus Laptop extra buttons               	id=10	[slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard            	id=11	[slave  keyboard (3)]
I used id=11.
Still in the terminal, run "xinput --test <id number>". Press the numbers 1 through 0 one at a time. You should see output like below. If not, you may have picked the wrong keyboard device - try again until you do. When you're done, press CTRL-C. Paste the output in a reply.

Code: Select all

$ xinput --test 11
key release 36 
key press   10 
&key release 10 
key press   11 
ékey release 11 
key press   12 
"key release 12 
key press   13 
'key release 13 
key press   14 
(key release 14 
key press   15 
-key release 15 
key press   16 
èkey release 16 
key press   17 
_key release 17 
key press   18 
çkey release 18 
key press   19 
àkey release 19 
key press   37 
key press   54
Still in the terminal, run "xkbcomp $DISPLAY keymap.txt". Then attach the keymap.txt file to your reply.
see attached file : keymap.txt

note : I have 4 keyboard layouts on my system. The keyboard is 'natively' azerty. I used group1 "France - Alternative" to conduct the tests.
One more thing and then you're done. Still in the terminal, run "xev > xev.txt". A white window will appear. Select it, then then type the numbers 1 through 0. When you're done, select the terminal window again and press CTRL-C. Then attack the xev.txt file to your reply.
see attached file : xev.txt

note : .txt extension is not allowed on this bulletin board. I targz-ed the 2 files in keymap_xev.tar.gz.
Attachments
keymap_xev.tar.gz
(12.09 KiB) Downloaded 712 times
User avatar
SpottedShroom
Captain Magnate
Captain Magnate
Posts: 1372
Joined: June 4th, 2010, 6:18 pm

Re: Not able to set quick spell under Linux

Post by SpottedShroom »

Thanks! I did some digging, and here's what I've got.

I can reproduce your problem pretty simply just by switching to the French keyboard layout. In that case, you type numbers with shift plus the keys in the positions where 1 through 0 are on an English/US keyboard. As you observed, though, Eschalon doesn't seem to register the numbers when they're typed with shift.

Since I was able to reproduce the problem by changing my keyboard layout, I suspect that you can work around it by changing yours. Disclaimer: this is my personal advice, and not in any way recommended by Basilisk Games. I don't think it'll mess up your keyboard configuration, but it might. If it does, get angry at me, not at Basilisk Games. Try running "setxkbmap us" before running Eschalon and see if that helps. To get back to your existing layout, do

Code: Select all

setxkbmap -model pc105 -layout "fr(oss),us,fr(bepo),fr" -option grp:shift_caps_toggle -keycodes "evdev+aliases(azerty)"
Of course, someone above said they tried changing keyboard layouts without success. If that happens for you, we may need to do some more debugging.

For BW, if you're interested in trying to debug this issue, I'd suggest running the setxkbmap commands above in the opposite order. Maybe try the program at the top of this page to try to observe the problem: http://www.blitzbasic.com/Community/pos ... opic=90115. I'd do it myself, but there currently isn't a Linux demo of BlitzMax available.
jorael
Pledge
Posts: 3
Joined: December 29th, 2011, 5:11 pm

Re: Not able to set quick spell under Linux

Post by jorael »

SpottedShroom wrote:Try running "setxkbmap us" before running Eschalon and see if that helps. To get back to your existing layout, do

Code: Select all

setxkbmap -model pc105 -layout "fr(oss),us,fr(bepo),fr" -option grp:shift_caps_toggle -keycodes "evdev+aliases(azerty)"
And it works like a charm !

Code: Select all

$ setxkbmap -print

xkb_keymap {
	xkb_keycodes  { include "evdev+aliases(qwerty)"	};
	xkb_types     { include "complete"	};
	xkb_compat    { include "complete"	};
	xkb_symbols   { include "pc+us+fr(oss):2+fr(bepo):3+fr:4+inet(evdev)+group(shift_caps_toggle)"	};
	xkb_geometry  { include "pc(pc105)"	};
};
Of course, someone above said they tried changing keyboard layouts without success. If that happens for you, we may need to do some more debugging.
As I understand, without any change the keyboard is seen by the system as a 'true' azerty. Just changing the layout doesn't do anything.

With your workaround, the keyboard is seen as a qwerty, and in Gnome I can add any other layout that I want.

Thank you for your help, SpottedShroom ! Now I can blast my foes away without too much clicking :).


No keyboards were harmed during those operations.


And happy new year !


ps : if I can help to debug / test a real patch. Feel free to ask.
Post Reply