| 1779 | |
| 1780 | #ifndef NO_MOUSE_ALLOWED |
| 1781 | void |
| 1782 | toggle_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); |
no outgoing calls
no test coverage detected