MCPcopy Create free account
hub / github.com/NetHack/NetHack / toggle_mouse_support

Function toggle_mouse_support

sys/windows/consoletty.c:1781–1842  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1779
1780#ifndef NO_MOUSE_ALLOWED
1781void
1782toggle_mouse_support(void)
1783{
1784 static int qeinit = 0;
1785#ifndef VIRTUAL_TERMINAL_SEQUENCES
1786 DWORD cmode;
1787#endif /* ! VIRTUAL_TERMINAL_SEQUENCES */
1788
1789#ifndef VIRTUAL_TERMINAL_SEQUENCES
1790 GetConsoleMode(console.hConIn, &cmode);
1791#else /* VIRTUAL_TERMINAL_SEQUENCES */
1792 GetConsoleMode(console.hConIn, &console.in_cmode);
1793#endif /* VIRTUAL_TERMINAL_SEQUENCES */
1794 if (!qeinit) {
1795 qeinit = 1;
1796#ifndef VIRTUAL_TERMINAL_SEQUENCES
1797 orig_QuickEdit = ((cmode & ENABLE_QUICK_EDIT_MODE) != 0);
1798#else /* VIRTUAL_TERMINAL_SEQUENCES */
1799 orig_QuickEdit = ((console.in_cmode & ENABLE_QUICK_EDIT_MODE) != 0);
1800#endif /* VIRTUAL_TERMINAL_SEQUENCES */
1801 }
1802 switch(iflags.wc_mouse_support) {
1803 case 2:
1804#ifndef VIRTUAL_TERMINAL_SEQUENCES
1805 cmode |= ENABLE_MOUSE_INPUT;
1806#else /* VIRTUAL_TERMINAL_SEQUENCES */
1807 console.in_cmode |= ENABLE_MOUSE_INPUT;
1808#endif /* VIRTUAL_TERMINAL_SEQUENCES */
1809 break;
1810 case 1:
1811#ifndef VIRTUAL_TERMINAL_SEQUENCES
1812 cmode |= ENABLE_MOUSE_INPUT;
1813 cmode &= ~ENABLE_QUICK_EDIT_MODE;
1814 cmode |= ENABLE_EXTENDED_FLAGS;
1815#else /* VIRTUAL_TERMINAL_SEQUENCES */
1816 console.in_cmode |= ENABLE_MOUSE_INPUT;
1817 console.in_cmode &= ~ENABLE_QUICK_EDIT_MODE;
1818 console.in_cmode |= ENABLE_EXTENDED_FLAGS;
1819#endif /* VIRTUAL_TERMINAL_SEQUENCES */
1820 break;
1821 case 0:
1822 FALLTHROUGH;
1823 /*FALLTHRU*/
1824 default:
1825#ifndef VIRTUAL_TERMINAL_SEQUENCES
1826 cmode &= ~ENABLE_MOUSE_INPUT;
1827#else /* VIRTUAL_TERMINAL_SEQUENCES */
1828 console.in_cmode &= ~ENABLE_MOUSE_INPUT;
1829#endif /* VIRTUAL_TERMINAL_SEQUENCES */
1830 if (orig_QuickEdit)
1831#ifndef VIRTUAL_TERMINAL_SEQUENCES
1832 cmode |= (ENABLE_QUICK_EDIT_MODE | ENABLE_EXTENDED_FLAGS);
1833#else /* VIRTUAL_TERMINAL_SEQUENCES */
1834 console.in_cmode |= (ENABLE_QUICK_EDIT_MODE | ENABLE_EXTENDED_FLAGS);
1835#endif /* VIRTUAL_TERMINAL_SEQUENCES */
1836 }
1837#ifndef VIRTUAL_TERMINAL_SEQUENCES
1838 SetConsoleMode(console.hConIn, cmode);

Callers 2

MAINFunction · 0.85
consoletty.cFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected