Hi all, Having followed the directions on the appdb page for Bioshock 2 (http://appdb.winehq.org/objectManager.php?sClass=version&iId=19342), the games loads fine and with sound. But I have the keyboard problem as mentioned in the link, which is at the start of each level you have to hit the spacebar to proceed, but for some reason it flatly ignores you. Note that the keyboard works fine, as I can use it to navigate the menu system in game and set keybindings. The link provides 2 solutions: 1. Prepend env XMODIFIERS="" before the call to Bioshock. This has no effect for me. 2. Add -nointro to the game args, and change the Application Data/Bioshock2/User.ini file by replacing every instance of Space= with Space=AcceptOrSelect. Neither of these things have any effect for me. The advice for this option also includes renaming some bink video files to avoid the tedious developer studio videos on startup, but doing this bizarrely causes divide by zero exceptions to be thrown by Bioshock2.exe. I have got this game through Steam, but the behaviour is identical whether starting it through Steam or the commandline. I am using Wine 1.5.3. I should note that there is a bug (http://bugs.winehq.org/show_bug.cgi?id=26269) that has been reopened about this, but the last few entries have said that one of the above worked for them, and judging by the timestamp on them, it was for a previous version of Wine. I have signed up to the bug tracker, but have yet to receive an email about being granted access to it, otherwise I would have added this there first. So if anyone had Bioshock 2 working on a prior version of Wine, but have yet to try for the latest, I'd really appreciate if do did and reply with your findings. Or if anyone found an alternate way of getting keyboard input going, sharing it would be great. Thank you, Cam
I've managed to skip the intro video by commenting out the entry in Bioshock2SP.ini. I also tried setting the Space=AcceptOrSelect entry in the default DefUser.ini, but it had no effect. By looking at the wine debug output for keyboard and key, I've also noticed that X definitely receives the keypress and knows what it is: Code: trace:key:TranslateMessage Translating key VK_SPACE (0020), scancode 0039 trace:key:X11DRV_ToUnicodeEx NumLockMask = 0010 trace:key:X11DRV_ToUnicodeEx AltGrMask = 0010 trace:key:X11DRV_ToUnicodeEx (0020, 0039) : faked state = 0x0010 trace:key:EVENT_event_to_vkey e->keycode = 65 trace:key:X11DRV_ToUnicodeEx Found keycode 65 trace:key:X11DRV_ToUnicodeEx type 2, window 3a0000e, state 0x0010, keycode 65 trace:key:X11DRV_ToUnicodeEx XmbLookupString needs 1 byte(s) trace:key:X11DRV_ToUnicodeEx nbyte = 1, status 0x4 trace:key:X11DRV_ToUnicodeEx KeyPress : keysym=20 (space), # of chars=1 / " " trace:key:X11DRV_ToUnicodeEx Translating char 0x20 to unicode trace:key:X11DRV_ToUnicodeEx returning 1 with L" " trace:key:TranslateMessage 1 -> PostMessageW(0x1009c,WM_CHAR,0020,00390001) trace:key:X11DRV_KeyEvent type 3, window 3a0000e, state 0x0010, keycode 65 trace:key:X11DRV_KeyEvent nbyte = 1, status 0 trace:key:X11DRV_KeyEvent KeyRelease : keysym=20 (space), # of chars=1 / " " trace:key:EVENT_event_to_vkey e->keycode = 65 trace:key:X11DRV_KeyEvent keycode 65 converted to vkey 0x20 trace:key:X11DRV_KeyEvent bScan = 0x39. trace:key:X11DRV_send_keyboard_input hwnd 0x1009c vkey=0020 scan=0039 flags=0002 I still can't figure out why the keyboard works fine inside the menu system, but is ignored in the loading screen...
>> I also tried setting the Space=AcceptOrSelect entry in the default DefUser.ini, but it had no effect.DefUser.ini is the wrong file [Exclamation] try .wine/drive_c/users/username/Application Data/Bioshock2/User.ini (change .wine and username to your settings)