Commit graph

39535 commits

Author SHA1 Message Date
KJK::Hyperion
53c5d2f826 Fix keyboard navigation of menus (up/down keys)
Patch by IJM <mailnew2ster AT mail.ru>

svn path=/trunk/; revision=44012
2009-11-07 19:21:13 +00:00
Cameron Gutman
290a30a5cb - Remove TCPSleep and TCPWakeup (we make all oskittcp sockets non-blocking)
- Crash ROS better in oskittcp_die

svn path=/trunk/; revision=44010
2009-11-07 18:12:58 +00:00
KJK::Hyperion
fe8ac71a7b Unbreak build
svn path=/trunk/; revision=44006
2009-11-07 17:24:06 +00:00
KJK::Hyperion
a44d06892b globally-defined CFLAGS, CXXFLAGS, etc. will now work, and override C compiler flags, C++ compiler flags, etc. for all modules. Our makefile build system now a little closer to a real makefile build system
svn path=/trunk/; revision=44003
2009-11-07 16:56:52 +00:00
KJK::Hyperion
d4fe05f452 Don't uppercase module name in _TARGET macros. This commit will amazingly not trigger a full rebuild
svn path=/trunk/; revision=44000
2009-11-07 15:20:45 +00:00
Johannes Anderwald
0abe48a157 [DSOUND]
- Add more checks IDirectSoundCapture::CreateCaptureBuffer
- Implement IDirectSoundNotify interface
- Needs work from ks / portcls to work on formats supported natively by the driver

svn path=/trunk/; revision=43997
2009-11-07 13:49:01 +00:00
Johannes Anderwald
c20bd4216f - Add a few constants and types required event handling
svn path=/trunk/; revision=43996
2009-11-07 12:57:07 +00:00
Sylvain Petreolle
fe7390f136 Report spoolsv service status at startup.
this fixes 1 advapi32:service test.

svn path=/trunk/; revision=43995
2009-11-07 11:43:06 +00:00
Johannes Anderwald
4bd3460f8a [DSOUND_NEW]
- Implement stereo to mono channel conversion
- Create a thread which performs the mixing
- Fixes messed up voice recording in Skype 3.6

svn path=/trunk/; revision=43994
2009-11-07 03:43:56 +00:00
Stefan Ginsberg
c74f994e2f - Refactor stubbed HAL resource report slightly.
- Move the resource routines to their own file instead of sysinfo.c.
- Add missing members to PCIPBUSDATA.
- Kill old, unused generic.rbuild.

svn path=/trunk/; revision=43991
2009-11-06 23:55:08 +00:00
Arch Blackmann
0324a3e3bb Whiners...
svn path=/trunk/; revision=43990
2009-11-06 23:35:28 +00:00
Arch Blackmann
d23204652e Implement printout the the state tables. It seems to work fine, but the tool doesn't yet generate the modified keys (shift+, ctrl+, etc) for each virtual key. This is the last thing that remains.
svn path=/trunk/; revision=43989
2009-11-06 22:42:26 +00:00
Johannes Anderwald
ee8a3fcc0b - Fix check
svn path=/trunk/; revision=43988
2009-11-06 17:00:20 +00:00
Arch Blackmann
4a61562491 Implement support for writing the virtual key to WCHAR translation for different shift states.
Only 2 shift states are supported for now, I have to add a lot more output generation code to get at least 3 states up and running.


svn path=/trunk/; revision=43985
2009-11-06 00:38:04 +00:00
Arch Blackmann
374c1a0142 Add table of shift state combinations, and add table of shift state types.
svn path=/trunk/; revision=43984
2009-11-06 00:37:06 +00:00
Arch Blackmann
bb5b97e281 Print out more state-related tables and information (still missing one large chunk of data). Print out the key and extended key tables for the layout. Fix up some more code.
The C source is almost fully complete for the English US test layout KLC!


svn path=/trunk/; revision=43983
2009-11-05 23:58:38 +00:00
Michael Martin
3b6b3c96d5 [cdfs]
- CdfsVerifyVolume: Disable the delivery of normal Kernel APC's before acquiring resource and re-enable APC's after releasing resource. Fixes ASSERT from ntoskrnl/ex/resource.c. Noticed by Stefan.

svn path=/trunk/; revision=43982
2009-11-05 23:43:57 +00:00
Arch Blackmann
51050d323b Add more support for shift state output. The tool now updates CharModifiers table based on the shift states present in the layout, building both the modification number and the key name based on the virtual key-> name table.
svn path=/trunk/; revision=43978
2009-11-05 19:55:57 +00:00
Arch Blackmann
44487b2614 Generate modifier table. Generate extended scancode table X. Generate extended scancode table Y.
svn path=/trunk/; revision=43977
2009-11-05 19:25:41 +00:00
Arch Blackmann
75cba8f7ab Add table of modifiers.
svn path=/trunk/; revision=43976
2009-11-05 19:24:47 +00:00
Arch Blackmann
43ea0e72e4 Create layout entries for built-in non-redefined scancodes as well, based on the 110-key table (mostly things like the extended keys/SpeedRacer/MediaButtons, etc).
svn path=/trunk/; revision=43975
2009-11-05 19:24:24 +00:00
Aleksey Bragin
8420a2199f [shell32]
- Remove extra semicolon, spotted by Gabriel.

svn path=/trunk/; revision=43973
2009-11-05 13:27:52 +00:00
Aleksey Bragin
0a9bdf2bf0 [shell32]
Gabriel Ilardi
- Properly stub SHSetUnreadMailCountW and SHGetUnreadMailCountW to unregress Thunderbird and possibly other email clients.
See issue #4940 for more details.

svn path=/trunk/; revision=43971
2009-11-05 10:07:16 +00:00
Arch Blackmann
9ba6ecc44b The tool now generates 75% of a typical keyboard layout C file. Lots of stuff still missing, but most of the annoying work is done now... it just has to start filling in the dynamic data.
A full-fledged file will have ligature data, up to 8 shift states, dead keys, etc, but that's not stuff we'll have to deal with at first for simple layouts.
By tomorrow we should be able to fully process and generate latin-alphabet-based language keyboard layouts.


svn path=/trunk/; revision=43970
2009-11-05 05:20:01 +00:00
Arch Blackmann
ce3c33cc9f Now write out the DEF file (okay that was too easy).
svn path=/trunk/; revision=43967
2009-11-05 02:04:04 +00:00
Arch Blackmann
e430f44387 Kbdtool can now create the resource (RC) file as well!
svn path=/trunk/; revision=43966
2009-11-05 01:57:08 +00:00
Stefan Ginsberg
61c7c70c34 - Convert one more __invlpg to KeInvalidateTlbEntry
svn path=/trunk/; revision=43963
2009-11-04 22:51:00 +00:00
Stefan Ginsberg
76a638d6cf - Oh snap. KDBG is not dead yet.
svn path=/trunk/; revision=43962
2009-11-04 22:49:46 +00:00
Arch Blackmann
6191f04a40 Holy shit Batman! KbdTool can now write out the keyboard layout header file! You should get a Layout01.h if you run it on test.klc (in your current working directory).
svn path=/trunk/; revision=43961
2009-11-04 22:48:55 +00:00
Stefan Ginsberg
1d161cccdd - Implement support for reading and writing physical memory for KD. The implementation uses a reserved mapping page to map the target physical address to. On x86 this page is located at virtual address 0xFFBFF000, and the PTE for this page is the last PTE of the nonpaged pool's PDE. Other architectures may need to reserve the PTE elsewhere.
- The physical memory support relies on several Mm variables and structures to be properly set up. Add a new flag, MiDbgReadyForPhysical, and set it when the debugger support can handle physical memory requests.
- Protect this page with a Memory Area to make the old Mm keep its dirty hands off it.
- Does not support I/O space or cache flags yet.
- Add generic KeInvalidateTlbEntry to invalidate a single TLB entry for a given address instead of flushing the whole TLB. Used by the debugger physical memory support as invalidating the whole TLB for every map and unmap of its debug PTE would incur significant overhead for large copies. Replace direct usage of __invlpg() with this in x86 code too.
- Fix incorrect cache flag check and set in KdpRead/WritePhysicalmemory for write combined requests. The debugger's Uncached flag was checked instead of the Write Combined flag, and the debuggers Write Combine number (0x3) was set instead of Mm's flag (0x20).
- Fix implementation of MmIsAddressValid (at least for x86; other architectures will need more checks). Just check the Address' PDE and PTE valid bits instead of using Memory Areas.
- Add missing ASSERTs to ensure the Memory Areas for paged pool, the PCR page, and the Shared User Data page are created.
- Add missing Memory Area for the 2 pages HAL currently uses for its own mappings on x86 -- previously, those pages could have been allocated by other parts of the OS, which would have resulted in serious corruptions.

svn path=/trunk/; revision=43960
2009-11-04 22:40:18 +00:00
Arch Blackmann
7909bd0733 Refactoring and cleanup. Start fleshing out the output phase. Start handling exit correctly. Fix a bug in DoLAYOUT. Nothing new to see here...
svn path=/trunk/; revision=43959
2009-11-04 22:07:29 +00:00
Stefan Ginsberg
422721748d - Finish the work around for the Pentium cmpxchg8b lock errata: We detected the errata and allocated the 7 first IDT entries on a write protected page, but the final piece of the work around, detecting the write fault ti the Invalid Opcode handler, was missing. Implemented this in the page fault handler to detect and dispatch the write fault to the Invalid Opcode handler.
- Fix the "fix" of un-protecting the 7 IDT entries on P5 in HAL's BIOS call code when setting the custom Invalid Opcode handler. The IDT was unprotected but the write protection wasn't reapplied after the BIOS call, breaking the work around.

Other:
- KdDebuggerEnabled is a BOOLEAN, so don't do a dword compare in KeUpdateSystemTime.
- Use better comment for the hack where we always allow page faults to be handled, even if they the fault occured with interrupts disabled.

svn path=/trunk/; revision=43958
2009-11-04 21:57:32 +00:00
Arch Blackmann
66afccbaeb Add some helpful debug output to LAYOUT parsing, and enable DoLAYOUT code. The tool is able to fully decode/parse the test.klc English US layout file!
svn path=/trunk/; revision=43950
2009-11-04 19:52:36 +00:00
Arch Blackmann
7662e72971 Implement getCharacterInfo so the tool can now handle most LAYOUT entries, but not complicated ligature entries (dead keys are fine though). Also cleaned up the parsing loop of DoLAYOUT to avoid a goto, and finally added detection of SGCAP entries (in which case the tool will fail, since these are complex and not needed for now).
The main parsing loop is pretty much done, now the tool "just" has to merge the states and perform a check for duplicate entries. Then it'll be ready to generate the output files.


svn path=/trunk/; revision=43949
2009-11-04 19:38:21 +00:00
Christoph von Wittich
650e86a2df sync wininet with wine 1.1.32
svn path=/trunk/; revision=43948
2009-11-04 11:16:25 +00:00
Arch Blackmann
b8b4a4efec Started adding support for reading the different character states and the cap data (including detecting SGCAP). Now the tool has to determine the type of each character defined at every stage (dead, valid, invalid, ligature, etc...) and save the character in the appropriate slot. Dead and other keys are currently handled, as are undefined keys.
Major work remains to be done...


svn path=/trunk/; revision=43947
2009-11-04 04:49:00 +00:00
Johannes Anderwald
b8fc27d6a3 - Add sanity checks
- Implement IDirectSoundCaptureBuffer8::Stop
- Implement changing the stream format for secondary buffers
- Silence debug flood


svn path=/trunk/; revision=43946
2009-11-04 02:16:49 +00:00
Johannes Anderwald
c5fab80345 [KS]
- Fix a bug in KsCancelIo which accessed already freed memory
[PORTCLS]
- Cancel all audio stream irps when the it is used in looped stream mode. Fixes re-opening of playback / capture devices in DSound.
- Remove dead code

svn path=/trunk/; revision=43945
2009-11-04 01:54:19 +00:00
Arch Blackmann
420a4f5f4b Start implementing the long task of DoLAYOUT to process the big "meat" of a KLC file: the keyboard layout. Implement the table of recognized virtual keys (and the translation matrix). Add support for hex-entered keys (0x...).
The tool does some minimal error checking for now, and attempts to begin parsing the LAYOUT section, but fails miserably and the code won't execute unless you've enabled verbose mode. I'm just using this commit as a checkpoint for now.
Also fixed SCVK structure to use the last member as a state flag.
Finally, added definitions for LAYOUTENTRY which will keep track of each row's column's values in the LAYOUT.

svn path=/trunk/; revision=43944
2009-11-03 22:57:26 +00:00
Johannes Anderwald
8bd2cfb3ab - Fix checking of flags found by Ged
- Remove unsupported DSBLOCK_FROMWRITECURSOR

svn path=/trunk/; revision=43942
2009-11-03 22:30:36 +00:00
Johannes Anderwald
c1198f3164 - Implement IDirectSoundCaptureBuffer8::Lock, IDirectSoundCaptureBuffer8::Unlock
- Fix pin handle leakage

svn path=/trunk/; revision=43941
2009-11-03 22:11:43 +00:00
Johannes Anderwald
f2a66752bc - Fix one more dsound_winetest dsound8 failure
- Register IDirectSound8, IDirectSoundCapture8 with COM

svn path=/trunk/; revision=43936
2009-11-03 19:20:59 +00:00
Aleksey Bragin
a63e388f53 [csrss]
- Route unhandled messages to DefWndProc, as it's usually done for every window proc.

svn path=/trunk/; revision=43935
2009-11-03 19:18:39 +00:00
Aleksey Bragin
006d77b16b [csrss]
- Paint the desktop only when getting WM_ERASEBKGND message, and do nothing in WM_PAINT. This is the behavior Windows and Wine implement.
- Add WM_CLOSE stub-handler, though it doesn't change much now - all messages unhandled by the switch are going to return "0" since this proc doesn't call DefWndProcHandler.

svn path=/trunk/; revision=43934
2009-11-03 19:03:11 +00:00
Johannes Anderwald
e788e7f084 [DSOUND]
- Partly implement IDirectSound8::GetCaps
- Implement IDirectSound8::Compact
- Verify if wrong guid is passed in IDirectSound8::Initialize
- Allow construction of IDirectSound8 object via CoCreateInstance
- Fix more dsound_winetest failures
- dsound_winetest dsound is now down to 31 / 178 failures

svn path=/trunk/; revision=43933
2009-11-03 18:54:52 +00:00
Johannes Anderwald
489e5eb856 - Partially revert 43747
See issue #4936 for more details.

svn path=/trunk/; revision=43931
2009-11-03 11:47:06 +00:00
Johannes Anderwald
7b50f75936 - Add a few sanity checks
- Check for invalid guids passed to IDirectSoundCapture::Initialize
- Add support for creating IDirectSoundCapture object via CoCreateInstance
- Close pin handle when the capture buffer is released
- Implement IDirectSoundCaptureBuffer::GetCaps, IDirectSoundCaptureBuffer::GetCurrentPosition, IDirectSoundCaptureBuffer::GetFormat, IDirectSoundCaptureBuffer::GetStatus, IDirectSoundCaptureBuffer::Start
- Compute a compatible pin format when the format is not supported natively by the driver
- Fix shadowing of global variable (Usurp)
- Verify that directsound global info has already initialized in IDirectSound8::Initialize
- dsound now fails 49/650 on dsound_winetest test:capture (mixing needs to implemented) The remaining tests fail due to unimplemented functionality in portcls / ks / dsound

svn path=/trunk/; revision=43930
2009-11-03 11:43:33 +00:00
Stefan Ginsberg
56a64b9357 - There is no reason to use the Kf* routines for IRQL and Spinlocks directly in HAL -- they are defined to the Kf* versions on x86 anyway, so use the Ke* equivalents exclusively.
svn path=/trunk/; revision=43929
2009-11-02 22:54:02 +00:00
Stefan Ginsberg
df4086b261 - Document what the 'NoBuses' member in the PCI_REGISTRY_INFO and PCI_REGISTRY_INFO_INTERNAL structures means to avoid confusion.
svn path=/trunk/; revision=43928
2009-11-02 21:46:41 +00:00
Cameron Gutman
99fec75b6f - Rework our oskittcp signalling
- SignalledConnectionsList is now only used for connections that have pending requests
 - Remove another unused member from CONNECTION_ENDPOINT

svn path=/trunk/; revision=43926
2009-11-02 21:28:25 +00:00