config: deprecate (and ignore) the use of input.xkb.whatever options.
These options are still sent by some HAL implementations (e.g. HAL on FC8), and may overwrite the options set in the x11-input.fdi file. For a more detailed description of why see Bug #13037, comment 42. X.Org Bug 13037 <http://bugs.freedesktop.org/show_bug.cgi?id=13037#c42>
This commit is contained in:
		
							parent
							
								
									9e0d73fd8a
								
							
						
					
					
						commit
						26188875de
					
				
							
								
								
									
										27
									
								
								config/hal.c
								
								
								
								
							
							
						
						
									
										27
									
								
								config/hal.c
								
								
								
								
							| 
						 | 
					@ -167,7 +167,7 @@ device_added(LibHalContext *hal_ctx, const char *udi)
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
    LibHalPropertySet *set = NULL;
 | 
					    LibHalPropertySet *set = NULL;
 | 
				
			||||||
	LibHalPropertySetIterator set_iter;
 | 
						LibHalPropertySetIterator set_iter;
 | 
				
			||||||
    char *psi_key = NULL, *tmp_val, *tmp_key;
 | 
					    char *psi_key = NULL, *tmp_val;
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    dbus_error_init(&error);
 | 
					    dbus_error_init(&error);
 | 
				
			||||||
| 
						 | 
					@ -244,27 +244,10 @@ device_added(LibHalContext *hal_ctx, const char *udi)
 | 
				
			||||||
                    add_option(&options, psi_key + sizeof(LIBHAL_PROP_KEY)-1, tmp_val);
 | 
					                    add_option(&options, psi_key + sizeof(LIBHAL_PROP_KEY)-1, tmp_val);
 | 
				
			||||||
                    xfree(tmp_val);
 | 
					                    xfree(tmp_val);
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            
 | 
					            }           /* don't accept input.xkb.whatever options anymore */
 | 
				
			||||||
            /* evdev's XKB options... we should probably depreciate this usage */
 | 
					            else if (!strncasecmp(psi_key, LIBHAL_XKB_PROP_KEY, sizeof(LIBHAL_XKB_PROP_KEY)-1)){
 | 
				
			||||||
            } else if (!strncasecmp(psi_key, LIBHAL_XKB_PROP_KEY, sizeof(LIBHAL_XKB_PROP_KEY)-1)){
 | 
					                LogMessage(X_ERROR, "config/hal: Option '%s' is "
 | 
				
			||||||
                
 | 
					                        "deprecated (ignoring).\n", psi_key);
 | 
				
			||||||
                /* only support strings for all values */
 | 
					 | 
				
			||||||
                tmp_val = get_prop_string(hal_ctx, udi, psi_key);
 | 
					 | 
				
			||||||
                
 | 
					 | 
				
			||||||
                if (tmp_val){
 | 
					 | 
				
			||||||
                    /* add "xkb_" + NULL */
 | 
					 | 
				
			||||||
		    tmp_key = xalloc(strlen(psi_key) - ( sizeof(LIBHAL_XKB_PROP_KEY) - 1) + 5);
 | 
					 | 
				
			||||||
                    
 | 
					 | 
				
			||||||
                    if (!tmp_key){
 | 
					 | 
				
			||||||
                        LogMessage(X_ERROR, "config/hal: couldn't allocate memory for option %s\n", psi_key);
 | 
					 | 
				
			||||||
                    } else {
 | 
					 | 
				
			||||||
                        sprintf(tmp_key, "xkb_%s", psi_key + sizeof(LIBHAL_XKB_PROP_KEY)-1);
 | 
					 | 
				
			||||||
                        add_option(&options, tmp_key, tmp_val);
 | 
					 | 
				
			||||||
                        
 | 
					 | 
				
			||||||
                        xfree(tmp_key);
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
                    xfree(tmp_val);
 | 
					 | 
				
			||||||
                }   
 | 
					 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -26,19 +26,21 @@
 | 
				
			||||||
	    Do not specify "input.x11_options.Device" since "input.device"
 | 
						    Do not specify "input.x11_options.Device" since "input.device"
 | 
				
			||||||
	    will be used automatically.
 | 
						    will be used automatically.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        Legacy Keys
 | 
					
 | 
				
			||||||
 | 
					        XKB configuration:
 | 
				
			||||||
 | 
						     "input.x11_options.XkbRules"
 | 
				
			||||||
 | 
						     "input.x11_options.XkbModel"
 | 
				
			||||||
 | 
						     "input.x11_options.XkbLayout"
 | 
				
			||||||
 | 
						     "input.x11_options.XkbVariant"
 | 
				
			||||||
 | 
						     "input.x11_options.XkbOptions"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        Legacy Keys (deprecated and ignored by the server):
 | 
				
			||||||
	     "input.xkb.rules"
 | 
						     "input.xkb.rules"
 | 
				
			||||||
             "input.xkb.model"
 | 
					             "input.xkb.model"
 | 
				
			||||||
             "input.xkb.layout"
 | 
					             "input.xkb.layout"
 | 
				
			||||||
             "input.xkb.variant"
 | 
					             "input.xkb.variant"
 | 
				
			||||||
             "input.xkb.options"
 | 
					             "input.xkb.options"
 | 
				
			||||||
             
 | 
					             
 | 
				
			||||||
            These keys are deprecated. Use these instead:
 | 
					 | 
				
			||||||
	     "input.x11_options.XkbRules"
 | 
					 | 
				
			||||||
	     "input.x11_options.XkbModel"
 | 
					 | 
				
			||||||
	     "input.x11_options.XkbLayout"
 | 
					 | 
				
			||||||
	     "input.x11_options.XkbVariant"
 | 
					 | 
				
			||||||
	     "input.x11_options.XkbOptions"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	    See the evdev documentation for more information. 
 | 
						    See the evdev documentation for more information. 
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue