Commit 70cc9160b610bf309adbdaf199fe610039211ec6
1 parent
51f5abc6
Exists in
master
and in
3 other branches
Adding method to disable the "lock on operator error" feature.
Showing
4 changed files
with
23 additions
and
3 deletions
Show diff stats
src/core/keyboard/kybd.c
... | ... | @@ -420,6 +420,8 @@ void kybd_in3270(H3270 *hSession, int GNUC_UNUSED(in3270), void GNUC_UNUSED(*dun |
420 | 420 | |
421 | 421 | /** |
422 | 422 | * @brief Lock the keyboard because of an operator error. |
423 | + * | |
424 | + * @see lib3270_set_lock_on_operator_error | |
423 | 425 | */ |
424 | 426 | void operator_error(H3270 *hSession, int error_type) |
425 | 427 | { |
... | ... | @@ -2258,3 +2260,7 @@ LIB3270_EXPORT LIB3270_KEYBOARD_LOCK_STATE lib3270_wait_for_keyboard_unlock(H327 |
2258 | 2260 | return (LIB3270_KEYBOARD_LOCK_STATE) hSession->kybdlock; |
2259 | 2261 | } |
2260 | 2262 | |
2263 | +LIB3270_EXPORT void lib3270_set_lock_on_operator_error(H3270 *hSession, int enable) | |
2264 | +{ | |
2265 | + hSession->oerr_lock = (enable ? 1 : 0); | |
2266 | +} | ... | ... |
src/core/sf.c
src/include/lib3270-internals.h
... | ... | @@ -365,11 +365,11 @@ struct _h3270 |
365 | 365 | int extended : 1; |
366 | 366 | int typeahead : 1; |
367 | 367 | int numeric_lock : 1; |
368 | - int oerr_lock : 1; | |
369 | - int unlock_delay : 1; | |
368 | + int oerr_lock : 1; ///< @brief If true, operator errors will lock the keyboard. | |
369 | + int unlock_delay : 1; ///< @brief If true the unlock delay feature is enabled. @see lib3270_set_unlock_delay | |
370 | 370 | int auto_reconnect_inprogress : 1; |
371 | 371 | unsigned int colors : 5; |
372 | - int apl_mode : 1; | |
372 | + int apl_mode : 1; ///< @brief If true enables APL mode. | |
373 | 373 | int icrnl : 1; |
374 | 374 | int inlcr : 1; |
375 | 375 | int onlcr : 1; | ... | ... |
src/include/lib3270/keyboard.h
... | ... | @@ -71,6 +71,19 @@ |
71 | 71 | |
72 | 72 | LIB3270_EXPORT LIB3270_KEYBOARD_LOCK_STATE lib3270_get_keyboard_lock_state(H3270 *hSession); |
73 | 73 | |
74 | + /** | |
75 | + * @brief Set te operator error lock. | |
76 | + * | |
77 | + * If lock is enabled (the default), operator errors (typing into protected fields, insert overflow, etc.) | |
78 | + * will cause the keyboard to lock with an error message in the OIA (status line). If disabled, these errors | |
79 | + * will simply cause the terminal bell will ring, without any keyboard lock or message. | |
80 | + * | |
81 | + * @param hSession Session handle. | |
82 | + * @param enable Non zero to enable operator lock, zero to disable. | |
83 | + * | |
84 | + */ | |
85 | + LIB3270_EXPORT void lib3270_set_lock_on_operator_error(H3270 *hSession, int enable); | |
86 | + | |
74 | 87 | #ifdef __cplusplus |
75 | 88 | } |
76 | 89 | #endif | ... | ... |